Rome2Rio

How to get fromZagreb to Milanby bus, train, train (Trenitalia), car, plane, or shuttle

Find Transport to Milan

See all options

There are 10 ways to get from Zagreb to Milan by bus, train, train (Trenitalia), car, plane, or shuttle

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Bus, train via Novo Mesto

    best
    1. Take the bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postajabus bus
    2. Take the bus from Novo Mesto, Avtobusna postaja to Stazione Mestrebus bus
    3. Take the train from Venezia Mestre to Milano Centraletrain train Fr
    8h 27m
    €437–933
  2. Fly Zagreb Franjo Tuđman Airport to Il Caravaggio International Airport, bus

    cheapest
    1. Fly from Zagreb Franjo Tuđman Airport (ZAG) to Il Caravaggio International Airport (BGY)plane plane ZAG - BGY
    2. Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus bus
    4h 48m
    €36–285
  3. Train

    1. Take the train from Zagreb Glavni Kol. to Villach Hbftrain train 318 / ...
    2. Take the train from Villach Hbf to Venezia Mestretrain train Rjx
    3. Take the train from Venezia Mestre to Milano Centraletrain train Fr
    11h 15m
    €89–184
  4. Drive  601.3 km

    1. Drive from Zagreb to Milancar car 601.3 km
    6h 13m
    €108–156
  5. Fly Zagreb Franjo Tuđman Airport to Milan Linate Airport

    1. Fly from Zagreb Franjo Tuđman Airport (ZAG) to Milan Linate Airport (LIN)plane plane ZAG - LIN
    6h 54m
    €102–345
  6. Bus

    1. Take the bus from Zagreb to Milano, Autostazione Lampugnanobus bus N402 / ...
    9h 50m
    €55–85
  7. Bus, train

    1. Take the bus from Zagreb to Padovabus bus
    2. Take the train from Padova to Milano Centraletrain train 8970 / ...
    10h 24m
  8. Bus, train via Trieste

    1. Take the bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postajabus bus
    2. Take the bus from Novo Mesto, Avtobusna postaja to Trieste Centralebus bus
    3. Take the train from Trieste Centrale to Venezia S. Luciatrain train Re
    4. Take the train from Venezia S. Lucia to Milano Centraletrain train Fr
    14h 59m
    €293–673
  9. Shuttle, shuttle to Trieste – Friuli Venezia Giulia Airport, fly to Milan Linate Airport

    1. Take a shuttle bus from Zagreb, Autobusni Kolodvor to Ljubljana, Avtobusna Postajashuttle bus
    2. Take a shuttle bus from Ljubljana to Trieste Airportshuttle bus
    3. Fly from Trieste – Friuli Venezia Giulia Airport (TRS) to Milan Linate Airport (LIN)plane plane TRS - LIN
    5h 37m
    €262–768
  10. Fly Zagreb Franjo Tuđman Airport to Milano Malpensa Airport, train

    1. Fly from Zagreb Franjo Tuđman Airport (ZAG) to Milano Malpensa Airport (MXP)plane plane ZAG - MXP
    2. Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain train
    6h 48m
    €60–218

Zagreb to Milan by train

Calendar14Weekly Trains
Duration11h 15mAverage Duration
Ticket€89Cheapest Price
See schedules

Comparing Your Travel Options

What companies run services between Zagreb, Croatia and Milan, Italy?

You can take a train from Zagreb Glavni Kol. to Milano Centrale via Villach Hbf and Venezia Mestre in around 11h 15m. Alternatively, Croatia Airlines, Austrian Airlines, and four other airlines fly from Zagreb Franjo Tuđman Airport (ZAG) to Milan Linate Airport (LIN) 5 times a day.

Airlines
Train operators
Bus operators

Want to know more about travelling around Italy

Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Related travel guides

Italy Travel Guides

Read the travel guideItaly Travel Guides

Booking & Getting There