How to travel from Milan to Zagreb, Croatia

The distance between Milan and Zagreb is around 557km (346 miles) and the quickest way to get there is to fly which takes around 2h 30m.

9 routes found

We've found 9 different ways to get from Milan to Zagreb by plane, train, bus and car. The recommended routes, which include information on duration, ticket price, and level of difficulty, can be found below.

👋 Also check out ZagrebMilan if you're planning a return trip.

🚀 Fastest
1
plane
+

Fly to Zagreb (ZAG)

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

  • Duration2h 30m
  • Flight time1h 15m
  • Typical cost
    HRK 480($64)

3 similiar routes

We’ve grouped similar routes together, click the arrows to see the other options.

2
3 x train
+

Train

Take the train to Vicenza then Villach Hbf and then to Zagreb Glavni Kol..

  • Duration9h 35m
  • Departsonce daily
  • Typical cost
    HRK 540($72)
Operated by

Multiple train operators

1 similiar route

We’ve grouped similar routes together, click the arrows to see the other options.

3
train
+
bus
+
train
+

Train and Bus

Take the train to Trieste Centrale then take the bus to Ljubljana bus station then take the train to Zagreb Glavni Kol..

  • Duration7h 45m
  • Departsonce daily
  • Typical cost
    HRK 555($74)
Operated by

Multiple operators

1 similiar route

We’ve grouped similar routes together, click the arrows to see the other options.

4
car
+

Drive

Drive to Zagreb.

  • Duration5h 55m
  • Distance626km (389 miles)
Get turn-by-turn directions

Frequently asked questionsabout travel between Milan and Zagreb

There are several options for getting from Milan to Zagreb by plane, train, bus and car. The cheapest option is to take the train and then take the bus which costs around HRK 235 ($31) and will take around 9h 50m. If you need to get there more quickly, you can fly and arrive in approximately 2h 30m, though it is a bit more costly at approximately HRK 480 ($64).

The distance between Milan and Zagreb is around 557km (346 miles). In a direct line (as the crow flies), the distance is 529km (329 miles)

It takes around 3h 5m to get from Milan and Zagreb by plane. If you are travelling by car it will take around 5h 55m to drive there.

The quickest way to get from Milan to Zagreb is to fly which takes around 2h 30m and will set you back approx HRK 480 ($64).

The cheapest way to travel between Milan and Zagreb, if you exclude driving, is to take the train and then take the bus which will typically cost around HRK 235 ($31) for a standard one-way ticket.

Train travel

Yes there is a train service that runs between Milan and Zagreb. It typically takes around 9h 35m and departs once daily.

There are no direct train services that runs from Milan to Zagreb. However, you can instead can take several connecting trains with a changeover in Vicenza and Villach Hbf. These services run once daily and will take a minimum of 9h 35m.

Trenitalia, Swiss Railways, Trenitalia EuroCity, Austrian Railways (ÖBB) and Nightjet run train services between Milan and Zagreb. Trains depart once daily and will take around 9h 35m, however, this may vary depending on the particular service and whether it runs express or stops all stations.

Bus travel

Sorry, looks like there is no bus service that runs between Milan and Zagreb. We recommend that you fly from Milan Bergamo (BGY) to Zagreb (ZAG). instead which will take 2h 30m.

Flights and Airlines

Yes you can fly from Milan and Zagreb. Flights depart from Milan Linate (LIN) and arrive at Zagreb (ZAG) - via Munich (MUC). The flight takes around 2h 15m.

Yes there is a direct flight between Milan and Zagreb with no stop-overs required. Flights typically take around 1h 15m.

Ryanair fly between Milan and Zagreb. Flights depart from Milan Bergamo (BGY) and and arrive into Zagreb (ZAG). These flights usually take around 1h 15m.

The flight from Milan to Zagreb typically takes around 2h 15m. Flights depart from Milan Linate (LIN) and and arrive into Zagreb (ZAG).

The closest major airport to Zagreb is Zagreb Airport (ZAG) (ZAG) which is approximately 11km (7 miles) from Zagreb. Rijeka Airport (RJK) (RJK) and Pula Airport (PUY) (PUY) are also nearby and might be a better alternative airport depending on where you are flying from.

Drive yourself

Yes it is possible to drive from Milan and Zagreb. The distance is around 626km (389 miles) by road and it will take around 5h 55m in normal traffic conditons.

If you don't have a car, the easiest way to get from Milan to Zagreb is to fly which takes, on average, 3h 5m and will usually cost around HRK 2,335 ($310).

How do I get from Milan to Zagreb

Compare travel optionsbetween Milan and Zagreb

Transport options from Milan to Zagreb
Transport optionDurationCostFrequencyDistance
Fly to Zagreb (ZAG) + 3 similar
2h 30m
HRK 480($64)
every 30 mins557km (346 miles)
Fly3h 5m
HRK 2,335($310)
hourly831km (517 miles)
Fly to Zagreb (ZAG)3h 30m
HRK 2,170($290)
every 30 mins988km (614 miles)
Train and Plane5h 15m
HRK 2,670($355)
every 2 hours877km (545 miles)
Train + 1 similar
9h 35m
HRK 540($72)
once daily723km (449 miles)
Train via Villach Hbf10h 10m
HRK 640($85)
twice daily725km (450 miles)
Train and Bus + 1 similar
7h 45m
HRK 555($74)
once daily637km (396 miles)
Train to Verona Porta Nuova, Bus9h 50m
HRK 235($31)
once daily639km (397 miles)
Drive
5h 55m
HRK 855($115)
on demand626km (389 miles)

Top Carriersoperating between Milan and Zagreb

Airlines

Train operators

Bus companies

Airports near Zagreb

The following major airports near Zagreb offer regular flights to various popular destinations within Croatia and internationally.

ZAG
Zagreb Airport (ZAG)
International Airport
Distance
11km (7 miles) from Zagreb
RJK
Rijeka Airport (RJK)
Domestic Airport
Distance
128km (80 miles) from Zagreb
PUY
Pula Airport (PUY)
Domestic Airport
Distance
190km (118 miles) from Zagreb