There are 9 ways to get from Milan to Zagreb by train, plane, shuttle, bus, night 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

Train to Milan Malpensa, fly to Zagreb  •  4 h 29 min

  1. Take the train from Milano Cadorna to Malpensa Aeroporto T.1
  2. Fly from Milan Malpensa (MXP) to Zagreb (ZAG) MXP - ZAG

$114 - $377

Cheapest option

Night bus  •  11 h 14 min

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

$42 - $72

7 alternative options

Fly Milan Linate to Zagreb  •  6 h 43 min

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

$117 - $432

Fly Milan Linate to Trieste, shuttle  •  6 h 33 min

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

$152 - $812

Bus  •  9 h 35 min

  1. Take the bus from Mailand Lampugnano to Zagreb Zob

$47 - $67

Train, bus  •  10 h 32 min

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

$64 - $183

Train  •  11 h 15 min

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

$80 - $130

Night train, train  •  12 h 51 min

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

$59 - $117

Drive  •  6 h 1 min

  1. Drive from Milan to Zagreb 396.8 miles

$95 - $140

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

Lufthansa, Air France and nine other airlines fly from Milan to Zagreb hourly. Alternatively, Globtour operates a bus from Milan to Zagreb twice daily. Tickets cost $45 - $65 and the journey takes 8 h 15 min.

Airlines
Lufthansa
Website
lufthansa.com
Flights from Milan Malpensa to Zagreb via Munich
Avg. Duration
3 h 25 min
When
Every day
Estimated price
$210 - $700
Flights from Milan Malpensa to Zagreb via Frankfurt
Avg. Duration
3 h 40 min
When
Every day
Estimated price
$170 - $850
Flights from Milan Linate to Zagreb via Frankfurt
Avg. Duration
4 h 21 min
When
Every day
Estimated price
$340 - $1,200
Flights from Milan Linate to Zagreb via Frankfurt, Munich
Avg. Duration
5 h 57 min
When
Every day
Estimated price
$230 - $700
Air France
Website
airfrance.com
Flights from Milan Linate to Zagreb via Paris CDG
Avg. Duration
5 h 50 min
When
Sunday
Estimated price
$220 - $700
Flights from Milan Linate to Trieste
Avg. Duration
55 min
When
Monday to Friday
Estimated price
$85 - $350
Brussels Airlines
Website
brusselsairlines.com
Flights from Milan Linate to Zagreb via Brussels
Avg. Duration
8 h 17 min
When
Monday to Friday
Estimated price
$250 - $950
Alitalia
Website
alitalia.com
Flights from Milan Linate to Trieste
Avg. Duration
55 min
When
Monday to Friday
Estimated price
$85 - $350
Croatia Airlines
Website
croatiaairlines.com
Flights from Milan Malpensa to Zagreb
Avg. Duration
1 h 30 min
When
Tuesday, Friday and Sunday
Estimated price
$170 - $850
Eurowings
Website
eurowings.com
Flights from Milan Malpensa to Zagreb via Stuttgart
Avg. Duration
3 h 35 min
When
Monday, Wednesday and Friday
Estimated price
$100 - $550
Austrian Airlines
Website
austrian.com
Flights from Milan Malpensa to Zagreb via Vienna
Avg. Duration
3 h 55 min
When
Monday, Tuesday, Thursday, Friday and Saturday
Estimated price
$210 - $700
Train operators
Malpensa Express
Website
malpensaexpress.it
Train from Milano Cadorna to Malpensa Aeroporto T.1
Avg. Duration
37 min
Frequency
Every 30 minutes
Estimated price
$13 - $17
Book at
malpensaexpress.it
Trenitalia
Phone
+39 06 68475475
Website
trenitalia.com
Train from Venezia Mestre to Trieste Centrale
Avg. Duration
1 h 53 min
Frequency
Hourly
Estimated price
$11 - $25
Website
orario.trenitalia.com
1st Class
$21 - $25
Train from Venezia Mestre to Villach Hbf
Avg. Duration
3 h 4 min
Frequency
3 times a day
Estimated price
$22 - $45
Website
orario.trenitalia.com
Night train from Milano Lambrate to Villach Hbf
Avg. Duration
6 h 17 min
Frequency
3 times a day
Estimated price
$35 - $80
Website
orario.trenitalia.com
1st Class
$65 - $80
Slovenian Railways (SŽ)
Austrian Railways (ÖBB)
Website
oebb.at
Train from Villach Hbf to Zagreb Glavni Kolod.
Avg. Duration
3 h 58 min
Frequency
Every 4 hours
Estimated price
$22 - $35
Website
fahrplan.oebb.at
Bus operators
GoOpti
Phone
+386 1 320 4530
Email
info@goopti.com
Website
goopti.com
Shuttle from Trieste Airport to Ljubljana
Avg. Duration
1 h 18 min
Frequency
On demand
Estimated price
$35 - $350
Schedules at
goopti.com
Shared
$35 - $50
Private
$130 - $350
Shuttle from Ljubljana to Zagreb
Avg. Duration
1 h 54 min
Frequency
On demand
Estimated price
$35 - $260
Schedules at
goopti.com
Shared
$35 - $45
Private
$140 - $260
Globtour
Website
globtour.com
Bus from Mailand Lampugnano to Zagreb Zob
Avg. Duration
8 h 15 min
Frequency
Twice daily
Estimated price
$45 - $65
Schedules at
globtour.com
Bus from Trieste Zob to Ljubljana Zob Postaja
Avg. Duration
1 h 34 min
Frequency
Once daily
Estimated price
$6 - $10
Schedules at
globtour.com
FlixBus
Phone
+49 1807 123 99 123
Email
info@flixbus.de
Website
flixbus.de
Bus from Trieste to Ljubljana
Avg. Duration
1 h 35 min
Frequency
Twice daily
Estimated price
$5 - $10
Website
flixbus.co.uk
Night bus from Milan, Milan to Zagreb
Avg. Duration
10 h
Frequency
Once daily
Estimated price
$40 - $70
Website
flixbus.co.uk
Crnja Tours
Phone
+385 91 30 30 356
Email
info@crnja-tours.hr
Website
crnja-tours.hr
Bus from Trieste to Ljubljana
Avg. Duration
1 h 23 min
Frequency
Once daily
Estimated price
$11 - $16
Schedules at
crnja-tours.hr
Book at
crnja.getbybus.com
Florentia Bus
Phone
+39 055 967024
Email
info@florentiabus.it
Website
florentiabus.it
Bus from Trieste to Ljubljana
Avg. Duration
1 h 24 min
Frequency
Once daily
Estimated price
$65 - $90
Schedules at
florentiabus.it
ATVO S.p.A.
Phone
+39 0421 5944
Email
atvo@atvo.it
Website
atvo.it
Bus from Trieste Station to Trg Osvobodilne Lubiana
Avg. Duration
1 h 40 min
Frequency
Once daily
Estimated price
$6 - $10
Schedules at
atvo.it

Want to know more about travelling around Croatia

Rome2rio's unique Travel Guides 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

How far is it from Milan to Zagreb?

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

What is the cheapest way to get from Milan to Zagreb?

The cheapest way to get from Milan to Zagreb is to bus which costs 45€ and takes 9 h 35 min.

What is the fastest way to get from Milan to Zagreb?

The quickest way to get from Milan to Zagreb is to train and fly which takes 4 h 29 min and costs 130€.

Is there a direct train between Milan and Zagreb?

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

Is there a direct bus between Milan and Zagreb?

No, there is no direct bus from Milan to Zagreb. However, there are services departing from via orefici p.za cordusio and arriving at Zagreb Zob via Mailand Lampugnano. The journey, including transfers, takes approximately 9 h 35 min.

How long does it take to get from Milan to Zagreb?

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