There are 11 ways to get from Milan to Grad Zagreb (State) by train, bus, 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.
Train, bus
best- Take the train from Milano Centrale to Venezia Mestretrain Fr
- Take the bus from Stazione Mestre to Novo Mesto, Avtobusna postajabus
- Take the bus from Novo Mesto, Avtobusna postaja to Zagrebbus
8h 18m€102–934Bus to Il Caravaggio International Airport, fly to Zagreb Franjo Tuđman Airport
cheapest- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Zagreb Franjo Tuđman Airport (ZAG)plane BGY - ZAG
5h 5m€36–249Train
- Take the train from Milano Centrale to Venezia Mestretrain Fr
- Take the train from Venezia Mestre to Villach Hbftrain Rjx
- Take the train from Villach Hbf to Zagreb Glavni Kol.train 319 / ...
11h 55m€124–251Drive 603.5 km
- Drive from Milan to Zagrebcar 603.5 km
6h 12m€95–137Fly Milan Linate Airport to Zagreb Franjo Tuđman Airport
- Fly from Milan Linate Airport (LIN) to Zagreb Franjo Tuđman Airport (ZAG)plane LIN - ZAG
6h 27m€94–276Bus
- Take the bus from Milano, Autostazione Lampugnano to Zagreb - Bus Stationbus BlaBlaCar Bus
10h€40–85Bus via Venice
- Take the bus from Milano, Autostazione Lampugnano to Venezia, Viale Stazione (Mestre Stazione - fermata ATVO)bus 419 / ...
- Take the bus from Venezia, Viale Stazione (Mestre Stazione - fermata ATVO) to Zagrebbus N402 / ...
10h 53m€44–79Train, bus via Trieste
- Take the train from Milano Centrale to Venezia Mestretrain Fr
- Take the train from Venezia Mestre to Trieste Centraletrain Re
- Take the bus from Trieste Centrale to Novo Mesto, Avtobusna postajabus
- Take the bus from Novo Mesto, Avtobusna postaja to Zagrebbus
14h 11m€229–696Train to Milano Malpensa Airport, fly to Zagreb Franjo Tuđman Airport
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Zagreb Franjo Tuđman Airport (ZAG)plane MXP - ZAG
5h 3m€61–219Fly Milan Linate Airport to Ljubljana, shuttle
- Fly from Milan Linate Airport (LIN) to Ljubljana (LJU)plane LIN - LJU
- Take a shuttle bus from Zgornji Brnik, Letališče Jožeta Pučnika Ljubljana to Zagreb
8h 13m€152–682Train to Zurich Airport, fly to Zagreb Franjo Tuđman Airport
- Take the train from Milano Centrale to Zuerich Hbtrain
- Fly from Zurich Airport (ZRH) to Zagreb Franjo Tuđman Airport (ZAG)plane ZRH - ZAG
7h 46m€147–357
Milan to Grad Zagreb (State) by train and tram
Questions & Answers
The cheapest way to get from Milan to Grad Zagreb (State) is to bus via Venice which costs €40 - €80 and takes 10h 53m.
The fastest way to get from Milan to Grad Zagreb (State) is to train and fly which takes 5h 3m and costs €60 - €220.
Yes, there is a direct bus departing from Milano, Autostazione Lampugnano and arriving at Zagreb - Bus Station station. Services depart three times a day, and operate every day. The journey takes approximately 10h.
No, there is no direct train from Milan to Grad Zagreb (State). However, there are services departing from Milano Centrale and arriving at Trg bana J. Jelačića via Venezia Mestre, Villach Hbf and Glavni kolodvor. The journey, including transfers, takes approximately 11h 55m.
The distance between Milan and Grad Zagreb (State) is 622 km. The road distance is 603.5 km.
The best way to get from Milan to Grad Zagreb (State) without a car is to train and bus which takes 8h 18m and costs €100 - €950.
It takes approximately 8h 18m to get from Milan to Grad Zagreb (State), including transfers.
Milan to Grad Zagreb (State) bus services, operated by BlaBlaCar Bus, depart from Milano, Autostazione Lampugnano station.
Milan to Grad Zagreb (State) train services, operated by Trenitalia Frecce, depart from Milano Centrale station.
The best way to get from Milan to Grad Zagreb (State) is to train which takes 11h 55m and costs €120 - €260. Alternatively, you can fly, which costs €90 - €280 and takes 6h 27m, you could also bus, which costs €40 - €85 and takes 10h.
What companies run services between Milan, Italy and Grad Zagreb (State), Croatia?
You can take a train from Milano Centrale to Trg bana J. Jelačića via Venezia Mestre, Villach Hbf, Zagreb Glavni Kol., and Glavni kolodvor in around 11h 55m. Alternatively, ITA Airways, Croatia Airlines, and three other airlines fly from Milan Linate Airport (LIN) to Zagreb Franjo Tuđman Airport (ZAG) every 4 hours.
- Website
- lufthansa.com
Flights from Milan Linate Airport to Zagreb Franjo Tuđman Airport via Munich
- Ave. Duration
- 3h 32m
- When
- Every day
- Estimated price
- €80–320
Flights from Milan Linate Airport to Zagreb Franjo Tuđman Airport via Frankfurt
- Ave. Duration
- 4h 30m
- When
- Every day
- Estimated price
- €85–350
Flights from Milano Malpensa Airport to Zagreb Franjo Tuđman Airport via Munich
- Ave. Duration
- 3h 25m
- When
- Monday, Tuesday, Wednesday, Thursday, and Sunday
- Estimated price
- €70–230
Flights from Milan Linate Airport to Ljubljana via Frankfurt
- Ave. Duration
- 5h 5m
- When
- Every day
- Estimated price
- €110–200
Flights from Milan Linate Airport to Ljubljana via Munich
- Ave. Duration
- 5h 45m
- When
- Every day
- Estimated price
- €110–200
Flights from Zurich Airport to Zagreb Franjo Tuđman Airport via Munich
- Ave. Duration
- 3h 7m
- When
- Every day
- Estimated price
- €75–320
- Website
- austrian.com
Flights from Milan Linate Airport to Zagreb Franjo Tuđman Airport via Vienna
- Ave. Duration
- 4h 37m
- When
- Every day
- Estimated price
- €70–290
Flights from Zurich Airport to Zagreb Franjo Tuđman Airport via Vienna
- Ave. Duration
- 3h 10m
- When
- Every day
- Estimated price
- €70–290
- Website
- ryanair.com
Flights from Il Caravaggio International Airport to Zagreb Franjo Tuđman Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €30–180
- Website
- croatiaairlines.com
Flights from Milano Malpensa Airport to Zagreb Franjo Tuđman Airport
- Ave. Duration
- 1h 15m
- When
- Monday, Wednesday, and Friday
- Estimated price
- €60–200
Flights from Zurich Airport to Zagreb Franjo Tuđman Airport
- Ave. Duration
- 1h 10m
- When
- Every day
- Estimated price
- €85–270
- Website
- klm.com
Flights from Milan Linate Airport to Ljubljana via Amsterdam Schiphol
- Ave. Duration
- 6h 22m
- When
- Every day
- Estimated price
- €90–460
- Website
- brusselsairlines.com
Flights from Milan Linate Airport to Ljubljana via Brussels
- Ave. Duration
- 4h 40m
- When
- Monday to Saturday
- Estimated price
- €95–290
- Website
- airfrance.com
Flights from Milan Linate Airport to Ljubljana via Paris Charles de Gaulle
- Ave. Duration
- 7h 25m
- When
- Every day
- Estimated price
- €80–430
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Milano Centrale to Venezia Mestre
- Ave. Duration
- 2h 15m
- Frequency
- Every 2 hours
- Estimated price
- €35–75
- Schedules at
- trenitalia.com
Train from Venezia Mestre to Trieste Centrale
- Ave. Duration
- 1h 54m
- Frequency
- 4 times a day
- Estimated price
- €30–60
- Schedules at
- trenitalia.com
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Venezia Mestre
- Ave. Duration
- 2h 25m
- Frequency
- 6 times a week
- Estimated price
- €55–110
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €75–110
- 2nd Class
- €55–80
Train from Milano Centrale to Zuerich Hb
- Ave. Duration
- 3h 17m
- Frequency
- Every 2 hours
- Estimated price
- €55–110
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €70–110
- 2nd Class
- €55–75
Train from Venezia Mestre to Villach Hbf
- Ave. Duration
- 3h 11m
- Frequency
- Twice daily
- Estimated price
- €35–55
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/railjet
- *
- €35–55
Train from Villach Hbf to Zagreb Glavni Kol.
- Ave. Duration
- 4h 22m
- Frequency
- Once daily
- Estimated price
- €50–90
- Website
- https://www.oebb.at/en/
- Phone
- +43 5 1717
- Website
- oebb.at
Train from Villach Hbf to Zagreb Glavni Kol.
- Ave. Duration
- 4h 35m
- Frequency
- 4 times a week
- Estimated price
- €50–90
- Website
- https://www.oebb.at/en/reiseplanung-services/im-zug/unsere-zuege/eurocity-intercity
- Website
- https://shop.oebbtickets.at/en/ticket
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Venezia Mestre to Trieste Centrale
- Ave. Duration
- 2h 50m
- Frequency
- Hourly
- Estimated price
- €27–45
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 68475475
- Website
- trenitalia.com
Train from Venezia Mestre to Trieste Centrale
- Ave. Duration
- 1h 57m
- Frequency
- Twice daily
- Estimated price
- €21–50
- Website
- https://www.trenitalia.com/en.html
- Phone
- +39 06 8937 1892
- Website
- italotreno.it
Train from Venezia Mestre to Trieste Centrale
- Ave. Duration
- 2h 1m
- Frequency
- Twice daily
- Estimated price
- €28–55
- Website
- https://www.italotreno.it/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +386 1 320 4530
- info@goopti.com
- Website
- goopti.com
Bus from Stazione Mestre to Novo Mesto, Avtobusna postaja
- Ave. Duration
- 3h 45m
- Frequency
- On demand
- Estimated price
- €37–650
- Website
- https://www.goopti.com/en/
- Shared
- €37
- Private
- €253
Bus from Novo Mesto, Avtobusna postaja to Zagreb
- Ave. Duration
- 1h 18m
- Frequency
- On demand
- Estimated price
- €29–180
- Website
- https://www.goopti.com/en/
- Shared
- €29
- Private
- €105
Bus from Trieste Centrale to Novo Mesto, Avtobusna postaja
- Ave. Duration
- 5h 54m
- Frequency
- On demand
- Estimated price
- €140–350
- Website
- https://www.goopti.com/en/
Shuttle from Zgornji Brnik, Letališče Jožeta Pučnika Ljubljana to Zagreb
- Ave. Duration
- 2h 6m
- Frequency
- On demand
- Estimated price
- €32–370
- Website
- https://www.goopti.com/en/
- Shared
- €32
- Private
- €150
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Zagreb - Bus Station
- Ave. Duration
- 10h
- Frequency
- Twice daily
- Estimated price
- €40–85
- Website
- https://www.blablacar.co.uk/bus
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, Autostazione Lampugnano to Zagreb - Bus Station
- Ave. Duration
- 10h 10m
- Frequency
- Twice daily
- Estimated price
- €45–80
- Website
- https://www.flixbus.co.uk
Bus from Milano, Autostazione Lampugnano to Venezia, Viale Stazione (Mestre Stazione - fermata ATVO)
- Ave. Duration
- 3h 30m
- Frequency
- Hourly
- Estimated price
- €18–35
- Website
- https://www.flixbus.co.uk
Bus from Venezia, Viale Stazione (Mestre Stazione - fermata ATVO) to Zagreb
- Ave. Duration
- 5h 50m
- Frequency
- 5 times a day
- Estimated price
- €24–45
- Website
- https://www.flixbus.co.uk
- customerservices@terravision.eu
- Website
- terravision.eu
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- https://www.terravision.eu/
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–21
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- €4–8
- Website
- https://autostradale.it/?lang=en-GB
Want to know more about travelling around Croatia
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
Milan to Grad Zagreb (State) bus services, operated by BlaBlaCar Bus, arrive at Zagreb - Bus Station.
Milan to Grad Zagreb (State) train services, operated by Trenitalia Frecce, arrive at Venezia Mestre station.
Yes, the driving distance between Milan to Grad Zagreb (State) is 604 km. It takes approximately 6h 12m to drive from Milan to Grad Zagreb (State).
Book your Milan to Grad Zagreb (State) bus tickets online with Omio and FlixBus.
There are 3010+ hotels available in Grad Zagreb (State).














































































