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

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

Recommended option

Fly Zagreb to Milan Malpensa  •  4 h 34 min

  1. Fly from Zagreb (ZAG) to Milan Malpensa (MXP) ZAG - MXP

$112 - $364

Cheapest option

Bus, train  •  10 h 7 min

  1. Take the bus from Zagreb to Verona
  2. Take the train from Verona Porta Nuova to Milano Lambrate Re_6

$13 - $45

8 alternative options

Fly Zagreb to Milan Linate  •  6 h 31 min

  1. Fly from Zagreb (ZAG) to Milan Linate (LIN) ZAG - LIN

$116 - $420

Fly Zagreb to Milan Bergamo  •  7 h 24 min

  1. Fly from Zagreb (ZAG) to Milan Bergamo (BGY) ZAG - BGY

$150 - $869

Shuttle to Trieste, fly to Milan Linate  •  5 h 51 min

  1. Take a shuttle bus from Zagreb to Ljubljana
  2. Fly from Trieste (TRS) to Milan Linate (LIN) TRS - LIN

$150 - $772

Bus  •  10 h 20 min

  1. Take the bus from Zagreb to Milan, Milan N402 / ...

$40 - $67

Train, bus  •  10 h 20 min

  1. Take the train from Dobova to Ljubljana En / ...
  2. Take the bus from Ljubljana to Trieste 427 / ...
  3. Take the train from Trieste Centrale to Venezia Mestre Rv / ...
  4. Take the train from Venezia Mestre to Milano Centrale Fr

$58 - $185

Train  •  10 h 41 min

  1. Take the train from Zagreb Glavni Kolod. to Villach Hbf Ec / ...
  2. Take the train from Villach Hbf to Venezia Mestre Rj / ...
  3. Take the train from Venezia Mestre to Milano Centrale Fr

$70 - $141

Train, night train  •  13 h 1 min

  1. Take the train from Zagreb Glavni Kolod. to Villach Hbf Ec / ...
  2. Take the night train from Villach Hbf to Milano Lambrate En / ...

$59 - $113

Drive  •  6 h

  1. Drive from Zagreb to Milan 394.4 miles

$95 - $140

Questions & Answers

The cheapest way to get from Zagreb to Milan is to bus and train which costs 80 kn - 290 kn and takes 10 h 7 min.

More details

The quickest way to get from Zagreb to Milan is to fly which costs 700 kn - 2.300 kn and takes 4 h 34 min.

More details

No, there is no direct bus from Zagreb to Milan. However, there are services departing from Zagreb and arriving at conciliazione m1 via lampugnano m1. The journey, including transfers, takes approximately 10 h 20 min.

More details

No, there is no direct train from Zagreb to Milan. However, there are services departing from Zagreb Glavni Kolod. and arriving at Milano Centrale via Villach Hbf and Venezia Mestre. The journey, including transfers, takes approximately 10 h 41 min.

More details

The distance between Zagreb and Milan is 529 km. The road distance is 631 km.

Get driving directions

The best way to get from Zagreb to Milan without a car is to bus and train which takes 10 h 7 min and costs 80 kn - 290 kn.

More details

It takes approximately 4 h 34 min to get from Zagreb to Milan, including transfers.

More details

Zagreb to Milan bus services, operated by FlixBus, depart from Zagreb station.

More details

Zagreb to Milan train services, operated by Croatian Railways (HŽPP), depart from Zagreb Glavni Kolod. station.

More details

The best way to get from Zagreb to Milan is to fly which takes 4 h 34 min and costs 700 kn - 2.300 kn. Alternatively, you can bus, which costs 250 kn - 430 kn and takes 10 h 20 min, you could also train, which costs 440 kn - 900 kn and takes 10 h 41 min.

Mode details

Map of how to get from Zagreb to Milan.
Launch map view
  • Distance: 330.6 miles
  • Duration: 4 h 34 min

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

Croatia Airlines, Austrian Airlines and Lufthansa fly from Zagreb to Milan 4 times a day. Alternatively, FlixBus operates a bus from Zagreb to Milan twice daily. Tickets cost $35 - $65 and the journey takes 9 h 50 min. Two other operators also service this route.

Airlines
Lufthansa
Website
lufthansa.com
Flights from Zagreb to Milan Malpensa via Frankfurt
Ave. Duration
3 h 42 min
When
Every day
Estimated price
$210 - $700
Flights from Zagreb to Milan Linate via Frankfurt
Ave. Duration
4 h 30 min
When
Every day
Estimated price
$280 - $900
Flights from Zagreb to Milan Linate via Munich, Frankfurt
Ave. Duration
5 h 5 min
When
Every day
Estimated price
$230 - $700
Flights from Zagreb to Milan Bergamo via Munich
Ave. Duration
6 h 15 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$190 - $600
Flights from Zagreb to Milan Bergamo via Frankfurt, Munich
Ave. Duration
6 h 20 min
When
Friday and Sunday
Estimated price
$140 - $550
Ryanair
Website
ryanair.com
Flights from Zagreb to Milan Bergamo via Prague
Ave. Duration
4 h 35 min
When
Monday, Tuesday, Thursday and Saturday
Estimated price
$35 - $210
Flights from Zagreb to Milan Bergamo via Frankfurt
Ave. Duration
5 h 40 min
When
Every day
Estimated price
$280 - $850
Flights from Zagreb to Milan Bergamo via Barcelona
Ave. Duration
5 h 50 min
When
Tuesday, Thursday, Saturday and Sunday
Estimated price
$180 - $700
Flights from Zagreb to Milan Bergamo via Vienna, Budapest
Ave. Duration
5 h 25 min
When
Friday
Estimated price
$40 - $210
Austrian Airlines
Website
austrian.com
Flights from Zagreb to Milan Malpensa via Vienna
Ave. Duration
3 h 30 min
When
Every day
Estimated price
$210 - $700
Air France
Website
airfrance.com
Flights from Zagreb to Milan Linate via Paris CDG
Ave. Duration
4 h 35 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$220 - $700
Flights from Trieste to Milan Linate
Ave. Duration
55 min
When
Monday to Saturday
Estimated price
$85 - $350
Brussels Airlines
Website
brusselsairlines.com
Flights from Zagreb to Milan Linate via Brussels
Ave. Duration
5 h 40 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$250 - $950
Alitalia
Website
alitalia.com
Flights from Trieste to Milan Linate
Ave. Duration
55 min
When
Every day
Estimated price
$85 - $350
Croatia Airlines
Website
croatiaairlines.com
Flights from Zagreb to Milan Malpensa
Ave. Duration
1 h 30 min
When
Tuesday, Friday and Sunday
Estimated price
$170 - $850
British Airways
Website
britishairways.com
Flights from Zagreb to Milan Linate via London Heathrow
Ave. Duration
5 h 50 min
When
Every day
Estimated price
$180 - $800
Train operators
Trenitalia

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Trieste Centrale to Venezia Mestre
Ave. Duration
1 h 53 min
Frequency
Hourly
Estimated price
$11 - $24
Website
orario.trenitalia.com
1st Class
$20 - $24
Night train from Villach Hbf to Milano Lambrate
Ave. Duration
7 h 25 min
Frequency
Twice daily
Estimated price
$35 - $75
Website
orario.trenitalia.com
1st Class
$60 - $75
Trenitalia Frecce

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Venezia Mestre to Milano Centrale
Ave. Duration
2 h 13 min
Frequency
Hourly
Estimated price
$30 - $50
Website
orario.trenitalia.com
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Venezia Mestre Station to Milano Centrale Station
Ave. Duration
2 h 13 min
Frequency
3 times a day
Estimated price
$27 - $40
Website
italotreno.it
Austrian Railways (ÖBB)

The national railway system of Austria, the OBB carried 209 million passengers on local and regional trains, and 35 million on long-distance trains in 2016 alone. The OBB’s 4865 km network covers 570 trains simultaneously at peak times, with one train leaving every 12 seconds, making it a supremely efficient way to travel around the country and surrounding region. The company’s extensive network connects cities in Austria, and adjacent European countries including Germany, Hungary, Liechtenstein, Czech Republic, Switzerland and Slovenia.

Contact Details
Website
oebb.at
Train from Villach Hbf to Venezia Mestre
Ave. Duration
3 h 3 min
Frequency
Every 4 hours
Estimated price
$21 - $45
Website
fahrplan.oebb.at
Book at
Raileurope.com
Night train from Villach Hbf to Milano Lambrate
Ave. Duration
7 h 25 min
Frequency
Once daily
Estimated price
$35 - $80
Website
fahrplan.oebb.at
Book at
Raileurope.com
Trenitalia Eurocity

The primary train operator in Italy, Trenitalia was created in the year 2000. Trenitalia offers national rail connections in Italy as well as international connections to Austria, France, Germany and Switzerland. The company operates regional and long-distance trains, as well as high-speed trains called Frecce that travel on specialised tracks on speeds of up to 360km/h. Trenitalia tickets are available online, in stations across the country or from many travel agents that offer bookings.

Contact Details
Phone
+39 06 68475475
Website
trenitalia.com
Train from Villach Hbf to Venezia Mestre
Ave. Duration
3 h 3 min
Frequency
Twice daily
Estimated price
$40 - $60
Website
orario.trenitalia.com
Bus operators
Arriva d.o.o.
Phone
+385 (0)72 660 660
Email
info@arriva.com.hr
Website
arriva.com.hr
Bus from Zagreb to Verona
Ave. Duration
7 h 2 min
Frequency
Once a week
Schedules at
arriva.com.hr
Bus from Zagreb to Lampugnano
Ave. Duration
9 h 35 min
Frequency
Once a week
Schedules at
arriva.com.hr
FlixBus

One of Europe’s leading bus companies, Flixbus serves over 1400 destinations, in 26 countries including Germany, France, Italy, Austria, the Netherlands, Croatia, Spain, and across Scandinavia and central and eastern Europe. Founded in 2012, Flixbus’ extensive network connects cities with approximately 200,000 trips, with buses often departing every 30 minutes. One of the most affordable ways to get around Europe (and expanding soon into the US), a Flixbus journey is cost-effective, well-connected, comfortable and safe.

Rome2rio's guide to FlixBus
Contact Details
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Zagreb to Milan, Milan
Ave. Duration
9 h 50 min
Frequency
Twice daily
Estimated price
$35 - $65
Website
flixbus.co.uk
Bus from Ljubljana to Trieste
Ave. Duration
1 h 35 min
Frequency
5 times a day
Estimated price
$5 - $9
Website
flixbus.co.uk
Globtour
Website
globtour.com
Bus from Zagreb Zob to Mailand Lampugnano
Ave. Duration
8 h 30 min
Frequency
Once daily
Estimated price
$45 - $65
Schedules at
globtour.com
Bus from Ljubljana Zob Postaja to Trieste Zob
Ave. Duration
1 h 35 min
Frequency
Once daily
Estimated price
$6 - $9
Schedules at
globtour.com
Crnja Tours
Phone
+385 91 30 30 356
Email
info@crnja-tours.hr
Website
crnja-tours.hr
Bus from Ljubljana to Trieste
Ave. Duration
1 h 35 min
Frequency
3 times a day
Estimated price
$10 - $15
Schedules at
crnja-tours.hr
Book at
crnja.getbybus.com
Arriva Slovenia
Phone
090 74 11
Website
arriva.si
Bus from Ljubljana to Trieste
Ave. Duration
1 h 40 min
Frequency
Twice daily
Estimated price
$8 - $13
Schedules at
arriva.si
Florentia Bus
Phone
+39 055 967024
Email
info@florentiabus.it
Website
florentiabus.it
Bus from Ljubljana to Trieste
Ave. Duration
1 h 24 min
Frequency
Once daily
Estimated price
$60 - $90
Schedules at
florentiabus.it
ATVO S.p.A.
Phone
+39 0421 5944
Email
atvo@atvo.it
Website
atvo.it
Bus from Trg Osvobodilne Lubiana to Trieste Station
Ave. Duration
1 h 40 min
Frequency
Once daily
Estimated price
$6 - $9
Schedules at
atvo.it

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.

More Questions & Answers

The quickest flight from Zagreb Airport to Milan Malpensa Airport is the direct flight which takes 1 h 30 min.

Search flights

Zagreb to Milan bus services, operated by FlixBus, arrive at Milan, Milan station.

More details

Zagreb to Milan train services, operated by Trenitalia Frecce, arrive at Milano Centrale station.

More details

Yes, the driving distance between Zagreb to Milan is 631 km. It takes approximately 6 h to drive from Zagreb to Milan.

Get driving directions

Croatia Airlines, Austrian Airlines and Lufthansa offer flights from Zagreb Airport to Milan Malpensa Airport.

Search flights

There are 4065+ hotels available in Milan. Prices start at $63 USD per night.

More details

The best way to get from Zagreb to Zagreb Airport is to shuttle which takes 9 min and costs 90 kn - 700 kn.

More details