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 Arriva d.o.o., train  •  10 h 6 min

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

$13 - $44

8 alternative options

Fly Zagreb to Milan Linate  •  6 h 30 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 50 min

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

$150 - $771

Bus, train via Trieste  •  9 h 11 min

  1. Take the bus from Zagreb to Trieste 402
  2. Take the train from Trieste Centrale to Venezia Mestre Rv / ...
  3. Take the train from Venezia Mestre to Milano Centrale Fr

$54 - $163

Bus  •  10 h 18 min

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

$40 - $67

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

$73 - $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

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 Bergamo via Munich
Ave. Duration
6 h 15 min
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$190 - $600
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 Copenhagen
Ave. Duration
8 h 25 min
When
Wednesday
Estimated price
$60 - $270
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
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
4 times a day
Estimated price
$35 - $75
Website
orario.trenitalia.com
1st Class
$60 - $75
Austrian Railways (ÖBB)
Website
oebb.at
Train from Villach Hbf to Venezia Mestre
Ave. Duration
3 h 3 min
Frequency
3 times a day
Estimated price
$21 - $45
Website
fahrplan.oebb.at
Purchase an
eurail.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
Purchase an
eurail.com
Trenitalia Eurocity
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
FlixBus
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Zagreb to Trieste
Ave. Duration
4 h
Frequency
Twice daily
Estimated price
$13 - $22
Website
flixbus.co.uk
Bus from Zagreb to Milan, Milan
Ave. Duration
9 h 50 min
Frequency
Twice daily
Estimated price
$35 - $65
Website
flixbus.co.uk
Florentia Bus
Phone
+39 055 967024
Email
info@florentiabus.it
Website
florentiabus.it
Bus from Zagreb to Trieste
Ave. Duration
3 h 41 min
Frequency
Once daily
Estimated price
$65 - $90
Schedules at
florentiabus.it
Crnja Tours
Phone
+385 91 30 30 356
Email
info@crnja-tours.hr
Website
crnja-tours.hr
Bus from Zagreb to Trieste
Ave. Duration
3 h 46 min
Frequency
Once daily
Estimated price
$17 - $25
Schedules at
crnja-tours.hr
Book at
crnja.getbybus.com
Globtour
Website
globtour.com
Bus from Zagreb Zob to Trieste Zob
Ave. Duration
3 h 55 min
Frequency
Once daily
Estimated price
$15 - $23
Schedules at
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
Arriva d.o.o.
Phone
+385 (0)72 660 660
Email
info@arriva.com.hr
Website
arriva.com.hr
Bus from Zagreb to Trieste
Ave. Duration
4 h 20 min
Frequency
Once daily
Schedules at
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

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.

Questions & Answers

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

The cheapest way to get from Zagreb to Milan is to bus and train which costs 75 kn - 280 kn and takes 10 h 6 min.

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

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.

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 18 min.

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