There are 10 ways to get from Zagreb (Station) 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.
Bus, train via Novo Mesto
best- Take the bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postajabus
- Take the bus from Novo Mesto, Avtobusna postaja to Stazione Mestrebus
- Take the train from Venezia Mestre to Milano Centraletrain Fr
8h 8m€417–1,254Fly Zagreb Franjo Tuđman Airport to Il Caravaggio International Airport, bus
cheapest- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Il Caravaggio International Airport (BGY)plane ZAG - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
5h 10m€37–206Train
- Take the train from Zagreb Glavni Kol. to Ljubljanatrain 318 / ...
- Take the train from Ljubljana to Villach Hbftrain 38 / ...
- Take the train from Villach Hbf to Venezia Mestretrain Rjx
- Take the train from Venezia Mestre to Milano Centraletrain Fr
11h 53m€118–237Drive 601.3 km
- Drive from Zagreb (Station) to Milancar 601.3 km
6h 10m€94–136Fly Zagreb Franjo Tuđman Airport to Milan Linate Airport
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Milan Linate Airport (LIN)plane ZAG - LIN
7h 9m€98–244Bus
- Take the bus from Zagreb - Bus Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
10h€55–110Bus, train
- Take the bus from Zagreb to Padovabus
- Take the train from Padova to Milano Centraletrain 8970 / ...
10h 24mBus, train via Trieste
- Take the bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postajabus
- Take the bus from Novo Mesto, Avtobusna postaja to Trieste Centralebus
- Take the train from Trieste Centrale to Venezia S. Luciatrain Re
- Take the train from Venezia S. Lucia to Milano Centraletrain Fr
14h 19m€279–909Fly Zagreb Franjo Tuđman Airport to Milano Malpensa Airport, train
- Fly from Zagreb Franjo Tuđman Airport (ZAG) to Milano Malpensa Airport (MXP)plane ZAG - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
7h 13m€56–187Bus, shuttle to Vienna International Airport, fly to Milan Linate Airport
- Take the bus from Zagreb to Maribor, Avtobusna Postajabus
- Take a shuttle bus from Maribor, Avtobusna Postaja to Flughafen Wien
- Fly from Vienna International Airport (VIE) to Milan Linate Airport (LIN)plane VIE - LIN
8h 23m€119–614
Zagreb (Station) to Milan by foot and train
Questions & Answers
The cheapest way to get from Zagreb (Station) to Milan is to bus which costs €55 - €110 and takes 10h.
The fastest way to get from Zagreb (Station) to Milan is to fly and bus which takes 5h 10m and costs €35 - €210.
Yes, there is a direct bus departing from Zagreb - Bus Station station and arriving at Milano, Autostazione Lampugnano. Services depart three times a day, and operate every day. The journey takes approximately 10h.
No, there is no direct train from Zagreb (Station) to Milan. However, there are services departing from Zagreb Glavni Kol. and arriving at Milano Centrale via Ljubljana, Villach Hbf and Venezia Mestre. The journey, including transfers, takes approximately 11h 53m.
The distance between Zagreb (Station) and Milan is 623 km. The road distance is 601.3 km.
The best way to get from Zagreb (Station) to Milan without a car is to bus and train via Novo Mesto which takes 8h 8m and costs €410 - €1300.
It takes approximately 8h 8m to get from Zagreb (Station) to Milan, including transfers.
Zagreb (Station) to Milan bus services, operated by BlaBlaCar Bus, depart from Zagreb - Bus Station.
Zagreb (Station) to Milan train services, operated by HŽ Putnički prijevoz (HŽPP), depart from Zagreb Glavni Kol. station.
The best way to get from Zagreb (Station) to Milan is to train which takes 11h 53m and costs €110 - €240. Alternatively, you can fly, which costs €95 - €250 and takes 7h 9m, you could also bus, which costs €55 - €110 and takes 10h.
What companies run services between Zagreb (Station), Croatia and Milan, Italy?
You can take a vehicle from Zagreb (Station) to Milano Centrale via Zagreb Glavni Kol., Ljubljana, Villach Hbf, and Venezia Mestre in around 11h 53m. Alternatively, Croatia Airlines, Austrian Airlines, and two other airlines fly from Zagreb Franjo Tuđman Airport (ZAG) to Milan Linate Airport (LIN) every 4 hours.
- Website
- lufthansa.com
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 4h 50m
- When
- Every day
- Estimated price
- €85–340
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Munich
- Ave. Duration
- 5h 35m
- When
- Every day
- Estimated price
- €85–320
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 4h 16m
- When
- Every day
- Estimated price
- €60–260
Flights from Vienna International Airport to Milan Linate Airport via Munich
- Ave. Duration
- 3h 17m
- When
- Every day
- Estimated price
- €85–320
Flights from Vienna International Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €70–250
- Website
- austrian.com
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Vienna International Airport
- Ave. Duration
- 5h 56m
- When
- Every day
- Estimated price
- €80–300
Flights from Vienna International Airport to Milan Linate Airport
- Ave. Duration
- 1h 23m
- When
- Every day
- Estimated price
- €70–250
- Website
- ryanair.com
Flights from Zagreb Franjo Tuđman Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 15m
- When
- Sunday, Wednesday, Friday, Saturday, and Tuesday
- Estimated price
- €29–160
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport via Zadar
- Ave. Duration
- 4h 35m
- When
- Tuesday and Wednesday
- Estimated price
- €50–150
- Website
- swiss.com
Flights from Zagreb Franjo Tuđman Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 5h 12m
- When
- Every day
- Estimated price
- €60–200
- Website
- eurowings.com
Flights from Zagreb Franjo Tuđman Airport to Milan Linate Airport via Stuttgart
- Ave. Duration
- 9h 5m
- When
- Sunday
- Estimated price
- €70–250
- Website
- easyjet.com
Flights from Vienna International Airport to Milan Linate Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €35–130
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 15m
- Frequency
- Hourly
- Estimated price
- €35–75
- Schedules at
- trenitalia.com
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 15m
- Frequency
- Hourly
- Estimated price
- €35–75
- Schedules at
- trenitalia.com
Train from Trieste Centrale to Venezia S. Lucia
- Ave. Duration
- 2h 7m
- Frequency
- Once daily
- Estimated price
- €30–65
- Schedules at
- trenitalia.com
Train from Venezia S. Lucia to Milano Centrale
- Ave. Duration
- 2h 27m
- Frequency
- Hourly
- Estimated price
- €40–80
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- [email protected]
- Website
- trenitalia.com
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 25m
- Frequency
- 4 times a day
- Estimated price
- €55–110
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €75–110
- 2nd Class
- €55–80
Train from Venezia Mestre to Milano Centrale
- Ave. Duration
- 2h 25m
- Frequency
- 4 times a day
- Estimated price
- €55–110
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €75–110
- 2nd Class
- €55–80
Train from Venezia S. Lucia to Milano Centrale
- Ave. Duration
- 2h 37m
- Frequency
- 4 times a day
- Estimated price
- €60–110
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €75–110
- 2nd Class
- €60–80
- Phone
- +385 60 333 444
- [email protected]
- Website
- hzpp.hr
Train from Zagreb Glavni Kol. to Ljubljana
- Ave. Duration
- 2h 26m
- Frequency
- Every 2 hours
- Estimated price
- €28–45
- Website
- http://www.hzpp.hr/en
Train from Ljubljana to Villach Hbf
- Ave. Duration
- 1h 40m
- Frequency
- 4 times a day
- Estimated price
- €20–30
- Website
- http://www.hzpp.hr/en
- Phone
- +386 1 29 13 331
- [email protected]
- Website
- potniski.sz.si
Train from Ljubljana to Villach Hbf
- Ave. Duration
- 1h 40m
- Frequency
- Every 2 hours
- Estimated price
- €20–30
- Website
- https://potniski.sz.si/en/
- Phone
- +43 (0)5 1717
- Website
- oebb.at
Train from Villach Hbf to Venezia Mestre
- Ave. Duration
- 3h 11m
- Frequency
- 4 times a day
- Estimated price
- €35–55
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/railjet
- Website
- https://shop.oebbtickets.at/en/ticket
- *
- €35–55
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Padova to Milano Centrale
- Ave. Duration
- 1h 59m
- Frequency
- Hourly
- Estimated price
- €29–60
- Website
- https://www.italotreno.it/en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Trieste Centrale to Venezia S. Lucia
- Ave. Duration
- 3h 29m
- Frequency
- Every 30 minutes
- Estimated price
- €27–45
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- trenord.it
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +386 1 320 4530
- [email protected]
- Website
- goopti.com
Bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postaja
- Ave. Duration
- 1h 19m
- Frequency
- On demand
- Estimated price
- €22–250
- Website
- https://www.goopti.com/en/
- Shared
- €22
- Private
- €92
Bus from Novo Mesto, Avtobusna postaja to Stazione Mestre
- Ave. Duration
- 3h 45m
- Frequency
- On demand
- Estimated price
- €360–900
- Website
- https://www.goopti.com/en/
Bus from Zagreb, Autobusni Kolodvor to Novo Mesto, Avtobusna postaja
- Ave. Duration
- 1h 19m
- Frequency
- On demand
- Estimated price
- €22–250
- Website
- https://www.goopti.com/en/
- Shared
- €22
- Private
- €92
Bus from Novo Mesto, Avtobusna postaja to Trieste Centrale
- Ave. Duration
- 5h 53m
- Frequency
- On demand
- Estimated price
- €190–490
- Website
- https://www.goopti.com/en/
Bus from Zagreb to Maribor, Avtobusna Postaja
- Ave. Duration
- 1h 35m
- Frequency
- On demand
- Estimated price
- €45–370
- Website
- https://www.goopti.com/en/
- Private
- €130
- Shared
- €45–70
- Phone
- +3 318 576 2228
- Website
- blablacar.co.uk
Bus from Zagreb - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 10h
- Frequency
- Twice daily
- Estimated price
- €55–110
- Website
- https://www.blablacar.co.uk/bus
Rome2Rio's guide to FlixBus
Contact DetailsContact Details
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- https://www.flixbus.fr
Bus from Zagreb - Bus Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 9h 50m
- Frequency
- Twice daily
- Estimated price
- €55–95
- Website
- https://www.flixbus.co.uk
- Phone
- +359 2 980 56 58
- [email protected]
- Website
- mm-travel.bg
Bus from Zagreb to Padova
- Ave. Duration
- 7h 40m
- Frequency
- Once a week
- Schedules at
- mm-travel.bg
- Book at
- tickets.mm-travel.bg
- [email protected]
- Website
- terravision.eu
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- https://www.terravision.eu/
- Phone
- +386 070740450
- [email protected]
- Website
- easydrive.si
Shuttle from Maribor, Avtobusna Postaja to Flughafen Wien
- Ave. Duration
- 2h 45m
- Frequency
- On demand
- Estimated price
- €35–75
- Schedules at
- easydrive.si
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 guide
Getting to Milan from the airport
Read the travel guide
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Zagreb (Station) to Milan bus services, operated by BlaBlaCar Bus, arrive at Milano, Autostazione Lampugnano station.
Zagreb (Station) to Milan train services, operated by HŽ Putnički prijevoz (HŽPP), arrive at Ljubljana station.
Yes, the driving distance between Zagreb (Station) to Milan is 601 km. It takes approximately 6h 10m to drive from Zagreb (Station) to Milan.
Book your Zagreb (Station) to Milan train tickets online with Omio.
Book your Zagreb (Station) to Milan bus tickets online with Omio and FlixBus.
There are 14409+ hotels available in Milan.































































