• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

There are 11 ways to get from Zagreb to Milan by plane, shuttle, train, bus, 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  •  5h 1m

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

$97 - $254

Cheapest option

Bus  •  10h 18m

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

$39 - $65

9 alternative options

Fly Zagreb to Milan Linate  •  7h 45m

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

$109 - $310

Fly Zagreb to Milan Bergamo  •  7h 9m

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

$144 - $756

Shuttle, shuttle to Trieste, fly to Milan Linate  •  5h 53m

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

$149 - $765

Shuttle, shuttle to Trieste, fly to Milan Malpensa  •  6h 24m

  1. Take a shuttle bus from Zagreb to Ljubljana
  2. Take a shuttle bus from Ljubljana to Trieste Airport
  3. Fly from Trieste (TRS) to Milan Malpensa (MXP) TRS - MXP

$270 - $1,179

Train, bus  •  9h 18m

  1. Take the train from Zagreb Glavni Kolod. to Ljubljana Ec / ...
  2. Take the bus from Ljubljana to Trieste 907 / ...
  3. Take the train from Trieste Centrale to Venezia Mestre Rv / ...
  4. Take the train from Venezia Mestre to Milano Centrale Fr / ...

$54 - $175

Bus, train  •  10h 7m

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

$39 - $84

Train  •  10h 34m

  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 / ...

$68 - $120

Night train  •  13h 12m

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

$57 - $105

Drive  •  6h

  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 which costs 250 kn - 420 kn and takes 10h 18m.

More details

The quickest way to get from Zagreb to Milan is to fly which costs 600 kn - 1.700 kn and takes 5h 1m.

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 10h 18m.

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 10h 34m.

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 train and bus which takes 9h 18m and costs 340 kn - 1.200 kn.

More details

It takes approximately 5h 1m 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 5h 1m and costs 600 kn - 1.700 kn. Alternatively, you can bus, which costs 250 kn - 420 kn and takes 10h 18m, you could also train, which costs 440 kn - 800 kn and takes 10h 34m.

Mode details

Map of how to get from Zagreb to Milan.
Launch map view
  • Distance: 330.6 miles
  • Duration: 5h 1m

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

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

Airlines
Lufthansa
Website
lufthansa.com
Flights from Zagreb to Milan Malpensa via Munich
Ave. Duration
3h 30m
When
Every day
Estimated price
$210 - $700
Flights from Zagreb to Milan Malpensa via Frankfurt
Ave. Duration
3h 55m
When
Every day
Estimated price
$190 - $800
Flights from Zagreb to Milan Linate via Frankfurt
Ave. Duration
7h 52m
When
Every day
Estimated price
$230 - $700
Flights from Zagreb to Milan Linate via Munich, Frankfurt
Ave. Duration
7h 5m
When
Every day
Estimated price
$230 - $700
Flights from Zagreb to Milan Bergamo via Munich
Ave. Duration
5h 37m
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
4h 35m
When
Saturday and Sunday
Estimated price
$35 - $210
Flights from Zagreb to Milan Bergamo via Frankfurt
Ave. Duration
4h 45m
When
Every day
Estimated price
$280 - $850
Flights from Zagreb to Milan Bergamo via Barcelona
Ave. Duration
5h 42m
When
Tuesday, Thursday, Saturday and Sunday
Estimated price
$140 - $600
Flights from Zagreb to Milan Bergamo via Cologne Bonn
Ave. Duration
6h 5m
When
Monday, Wednesday, Friday and Sunday
Estimated price
$100 - $410
Alitalia
Website
alitalia.com
Flights from Zagreb to Milan Linate via Amsterdam Schiphol
Ave. Duration
5h 10m
When
Every day
Estimated price
$380 - $1,300
Flights from Trieste to Milan Linate
Ave. Duration
55m
When
Monday to Friday
Estimated price
$85 - $350
Flights from Trieste to Milan Malpensa
Ave. Duration
55m
When
Monday to Saturday
Estimated price
$220 - $1,200
Austrian Airlines
Website
austrian.com
Flights from Zagreb to Milan Malpensa via Vienna
Ave. Duration
3h 42m
When
Every day
Estimated price
$210 - $700
Brussels Airlines
Website
brusselsairlines.com
Flights from Zagreb to Milan Linate via Brussels
Ave. Duration
5h 37m
When
Monday, Tuesday, Wednesday, Thursday, Friday and Sunday
Estimated price
$250 - $950
Volotea
Website
volotea.com
Flights from Zagreb to Milan Bergamo via Split
Ave. Duration
3h 30m
When
Tuesday
Estimated price
$50 - $300
Flights from Zagreb to Milan Bergamo via Dubrovnik
Ave. Duration
4h 40m
When
Wednesday
Estimated price
$70 - $350
Croatia Airlines
Website
croatiaairlines.com
Flights from Zagreb to Milan Malpensa
Ave. Duration
1h 35m
When
Tuesday, Friday and Sunday
Estimated price
$170 - $850
Iberia
Website
iberia.com
Flights from Zagreb to Milan Linate via Madrid
Ave. Duration
6h 35m
When
Tuesday
Estimated price
$200 - $1,300
Air France
Website
airfrance.com
Flights from Zagreb to Milan Linate via Paris CDG
Ave. Duration
4h 50m
When
Saturday and Sunday
Estimated price
$380 - $1,300
British Airways
Website
britishairways.com
Flights from Zagreb to Milan Linate via London Heathrow
Ave. Duration
8h 50m
When
Monday, Tuesday, Wednesday, Thursday and Sunday
Estimated price
$180 - $800
Train operators
Croatian Railways (HŽPP)
Website
hzpp.hr
Train from Zagreb Glavni Kolod. to Ljubljana
Ave. Duration
2h 16m
Frequency
3 times a day
Estimated price
$11 - $17
Website
hzpp.hr
Purchase a
eurail.com
Train from Zagreb Glavni Kolod. to Villach Hbf
Ave. Duration
3h 58m
Frequency
3 times a day
Estimated price
$21 - $35
Website
hzpp.hr
Purchase a
eurail.com
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
1h 53m
Frequency
Hourly
Estimated price
$10 - $24
Website
orario.trenitalia.com
1st Class
$19 - $24
Night train from Villach Hbf to Milano Lambrate
Ave. Duration
7h 25m
Frequency
Once 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
2h 13m
Frequency
Hourly
Estimated price
$30 - $50
Website
orario.trenitalia.com
ItaloTreno
Phone
+39 060708
Website
italotreno.it
Train from Venezia Mestre to Milano Centrale
Ave. Duration
2h 12m
Frequency
Every 4 hours
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
3h 3m
Frequency
Every 4 hours
Estimated price
$20 - $40
Website
fahrplan.oebb.at
Book at
Raileurope.com
Night train from Villach Hbf to Milano Lambrate
Ave. Duration
7h 25m
Frequency
Once daily
Estimated price
$35 - $75
Website
fahrplan.oebb.at
Book at
Raileurope.com
Bus operators
GoOpti
Phone
+386 1 320 4530
Email
info@goopti.com
Website
goopti.com
Shuttle from Zagreb to Ljubljana
Ave. Duration
1h 48m
Frequency
On demand
Estimated price
$30 - $240
Schedules at
goopti.com
Shared
$30 - $40
Private
$130 - $240
Shuttle from Ljubljana to Trieste Airport
Ave. Duration
1h 16m
Frequency
On demand
Estimated price
$35 - $330
Schedules at
goopti.com
Shared
$35 - $45
Private
$120 - $330
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 Ljubljana to Trieste
Ave. Duration
1h 30m
Frequency
Every 3 hours
Estimated price
$5 - $9
Website
flixbus.co.uk
Bus from Zagreb to Milan, Milan
Ave. Duration
9h 50m
Frequency
3 times a day
Estimated price
$35 - $65
Website
flixbus.co.uk
Arriva Slovenia
Phone
090 74 11
Website
arriva.si
Bus from Ljubljana to Trieste
Ave. Duration
1h 40m
Frequency
3 times a day
Estimated price
$7 - $13
Schedules at
arriva.si
Crnja Tours
Phone
+385 91 30 30 356
Email
info@crnja-tours.hr
Website
crnja-tours.hr
Bus from Ljubljana Central Bus Station Postaja to Trieste Central Bus Station
Ave. Duration
1h 35m
Frequency
Twice daily
Estimated price
$10 - $15
Website
Crnja Tours
Florentia Bus
Phone
+39 055 967024
Email
info@florentiabus.it
Website
florentiabus.it
Bus from Ljubljana to Trieste
Ave. Duration
1h 24m
Frequency
Once daily
Estimated price
$60 - $85
Schedules at
florentiabus.it
Globtour
Website
globtour.com
Bus from Ljubljana Zob Postaja to Trieste Zob
Ave. Duration
1h 35m
Frequency
Once daily
Estimated price
$6 - $9
Schedules at
globtour.com
Bus from Zagreb Zob to Mailand Lampugnano
Ave. Duration
8h 30m
Frequency
Once daily
Estimated price
$40 - $65
Schedules at
globtour.com
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
1h 40m
Frequency
Once daily
Estimated price
$6 - $9
Schedules at
atvo.it
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
7h 2m
Frequency
Once a week
Estimated price
$27 - $40
Schedules at
arriva.com.hr
Bus from Zagreb to Lampugnano
Ave. Duration
9h 35m
Frequency
Once a week
Estimated price
$35 - $50
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.

More Questions & Answers

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

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 6h 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 4343+ hotels available in Milan. Prices start at $62 USD per night.

More details

The best way to get from Zagreb to Zagreb Airport is to line 290 shuttle which takes 31m and costs .

More details