- Must visit
Pinacoteca di Brera
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
Flights from Zagreb to Milan depart on average 27 times per day, taking around 2h 45m. Cheap flight tickets for this journey start at $20 (€16) if you book in advance.
There are 1 flights per day. The earliest flight runs at 05:00, the last at 23:55. The fastest flight covers the 328 miles (529 km) distance in 1h 15m. February is the cheapest month to fly.
Distance 328 miles (529 km) |
Average flight duration 2h 45m |
Cheapest ticket price $20 (€16) |
Flights per day 27 |
Direct flights 1 |
Fastest flight 1h 15m |
First flight 5:00 AM |
Last flight 11:55 PM |
Cheapest Month Feb |
Cheapest Day Thu |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Mon |
Best time to book 2 days |
Cheapest price
$98
Average price
$659
Fastest journey
1 h 15 m
Average duration
2 h 59 m
Flights per day
26
Distance
529 km
The best way to find a cheap flight ticket from Zagreb to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Zagreb to Milan will cost around $659 if you buy it on the day, but the cheapest tickets can be found for only $98.
Of the 26 flights that leave Zagreb for Milan onFri, Jul 31, 1 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Fri, Jul 31 the direct flights cover the 529 km distance in an average of 2 h 59 m but if you time it right, some flights will get you there in just 1 h 15 m .
On Fri, Jul 31 the longest flights will take 3 h 50 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
FR 6000
LO612 · LO319
LO614 · LO319
SN5502+
SN3147
OS604 · OS523
FR 6000
OS604 · OS523
LH1727 · LH1856
LH1405 · LH278
LH1405 · LH256Omio recommends booking the bus as it is the most popular option from Zagreb to Milan among Omio's users. If you are prioritising price take the bus with prices starting from $31. For those with little time consider booking a flight which can get you there in 2h 45m. In case you are seeking to minimise your carbon footprint the bus is your best bet as it emits only 0.5 - 1.3kg. The ticket price range depends on the travel mode: a bus costs an average of $31, and a flight costs an average of $20.
Distance: 328 miles (529 km)
| Flight | Most popular Bus | Driving |
|---|---|---|
$211 Average price | $62 Average price Cheapest | $207 Average price (fuel + tolls) |
5h 45m Average total duration Fastest 2h 45m Onboard + 3h 0m Additional time* | 10h 37m Average total duration 10h 7m Onboard + 30m Additional time* | 6h 59m Average total duration (door-to-door) |
1.6 - 3.2kg CO2 emissions | 0.5 - 1.3kg CO2 emissions Lowest | - CO2 emissions |
![]() Most popular airline | ![]() Most popular bus company | Your own car or car rental |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Zagreb to Milan:
A bus is $150 (€122) less than a flight for this route with tickets for a flight from Zagreb to Milan costing on average $211 (€173).
Other travel options to Milan take longer:
Bus takes on average 10h 7m.
The table below shows live departures for Zagreb to Milan flights for today, Thursday, July 30. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
OU380 · OU5344 | 2:45 PM Zagreb Franjo Tuđman Airport | 5h25 | 8:10 PM Milan Linate Airport | 1 transfer | |
OS7054+ OS529 | 5:50 PM Zagreb Franjo Tuđman Airport | 4h05 | 9:55 PM Milan Linate Airport | 1 transfer | |
LO614 · LO317 | 6:05 PM Zagreb Franjo Tuđman Airport | 15h40 | 9:45 AM Milan Malpensa Airport | 1 transfer | |
LO614 · LO319 | 6:05 PM Zagreb Franjo Tuđman Airport | 24h50 | 6:55 PM Milan Malpensa Airport | 1 transfer | |
| Friday, July 31 | |||||
LH1407 · LH248 | 6:00 AM Zagreb Franjo Tuđman Airport | 4h35 | 10:35 AM Milan Malpensa Airport | 1 transfer | |
LH1407+ LH6904 | 6:00 AM Zagreb Franjo Tuđman Airport | 4h00 | 10:00 AM Milan Linate Airport | 1 transfer | |
LH1407+ LO382 · LO319 | 6:00 AM Zagreb Franjo Tuđman Airport | 12h55 | 6:55 PM Milan Malpensa Airport | 2 transfers | |
LH1731+ LH9448 | 6:15 AM Zagreb Franjo Tuđman Airport | 6h00 | 12:15 PM Milan Malpensa Airport | 1 transfer | |
LH1731+ LO352 · LO319 | 6:15 AM Zagreb Franjo Tuđman Airport | 12h40 | 6:55 PM Milan Malpensa Airport | 2 transfers | |
SN3147+ SN5502 | 6:50 AM Zagreb Franjo Tuđman Airport | 5h30 | 12:20 PM Milan Linate Airport | 1 transfer | |
LH272+ LH6007 | 7:40 AM Zagreb Franjo Tuđman Airport | 4h20 | 12:00 PM Milan Linate Airport | 1 transfer | |
LO380 · LO319+ LO4276 | 7:40 AM Zagreb Franjo Tuđman Airport | 35h00 | 6:40 PM Milan Malpensa Airport | 2 transfers | |
LO378 · LO319+ LO4276 | 7:40 AM Zagreb Franjo Tuđman Airport | 35h00 | 6:40 PM Milan Malpensa Airport | 2 transfers | |
LO382 · LO319+ LO4276 | 7:40 AM Zagreb Franjo Tuđman Airport | 11h15 | 6:55 PM Milan Malpensa Airport | 2 transfers | |
OS523+ OS7052 | 8:10 AM Zagreb Franjo Tuđman Airport | 6h00 | 2:10 PM Milan Linate Airport | 1 transfer | |
LH9448+ LH5989 | 8:15 AM Zagreb Franjo Tuđman Airport | 4h00 | 12:15 PM Milan Malpensa Airport | 1 transfer | |
LH1852+ LH5989 | 8:15 AM Zagreb Franjo Tuđman Airport | 4h45 | 1:00 PM Milan Linate Airport | 1 transfer | |
LH5636+ LH6001 | 9:05 AM Zagreb Franjo Tuđman Airport | 4h55 | 2:00 PM Milan Malpensa Airport | 1 transfer | |
LH274+ LH6001 | 9:05 AM Zagreb Franjo Tuđman Airport | 5h35 | 2:40 PM Milan Linate Airport | 1 transfer | |
LX1628+ LX4251 | 9:25 AM Zagreb Franjo Tuđman Airport | 4h35 | 2:00 PM Milan Malpensa Airport | 1 transfer | |
OS604 · OS523 | 11:25 AM Zagreb Franjo Tuđman Airport | 2h45 | 2:10 PM Milan Linate Airport | 1 transfer | |
FR 6000 | 12:20 PM Zagreb Franjo Tuđman Airport | 1h15 | 1:35 PM Milan Bergamo Orio al Serio Airport | 0 transfersDirect | |
LO612 · LO319 | 12:50 PM Zagreb Franjo Tuđman Airport | 6h05 | 6:55 PM Milan Malpensa Airport | 1 transfer | |
LH1727+ LH1854 | 1:20 PM Zagreb Franjo Tuđman Airport | 4h25 | 5:45 PM Milan Linate Airport | 1 transfer | |
LH1727 · LH1856 | 1:20 PM Zagreb Franjo Tuđman Airport | 3h20 | 4:40 PM Milan Malpensa Airport | 1 transfer | |
Find all the dates and times for this journey
Compare bus and flight prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
This contemporary art museum near Porta Romana presents rotating exhibitions in a striking former industrial distillery complex.
Italy’s leading science museum is set in a former monastery and features Leonardo galleries, trains, aircraft, and a submarine.
Milan’s central square frames the cathedral and major civic buildings, making it the city’s essential meeting point and photo stop.
This artistic district offers charming lanes, Brera atmosphere, boutiques, and easy access to galleries and evening strolls.
A large landscaped park behind the castle, perfect for walks, skyline views, and reaching landmarks like the Arch of Peace.
Saffron risotto cooked with butter, stock and cheese. It is Milan's signature dish, linked to the city's love of rich northern Italian rice cookery.
Breaded veal cutlet fried in butter until golden. A classic Milanese main, prized for its simple preparation and long-standing local tradition.
Slow-braised veal shanks with vegetables, wine and broth, often finished with gremolata. A hearty Lombard specialty commonly paired with risotto.
Three-Michelin-star fine dining by Enrico Bartolini in MUDEC. Expect refined Italian tasting menus in a polished contemporary setting.
Historic Milanese restaurant near the Duomo, famous for risotto and cotoletta. Traditional, elegant rooms and a strong local culinary identity.
Long-running local favorite for classic Milanese cuisine, especially risotto and ossobuco. Warm, old-school atmosphere in the Brera area.
Moderate for Western Europe. Hotels and central dining can be pricey, but transit is affordable and budget meals, aperitivo deals, and local cafes help keep daily costs reasonable.
Tipping is modest. Service may be included. Round up or leave €1-2 at cafes, 5-10% for good restaurant service, and round up taxi fares.
Official public transport app
Milan Malpensa Airport -> Milano Centrale
Find answers to the most common questions about traveling from Zagreb to Milan by flight. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest flight, the cheapest option, or tips for making the most of your visit at Milan, this guide helps you travel smarter and with confidence.

Most Zagreb to Milan flights use the Zagreb Franjo Tuđman Airport to Milan Linate Airport airport pair, with some services landing at Milan Malpensa Airport. Use this guide to compare Zagreb and Milan airports on this route, check city-centre transport, alongside checking practicalities like airport facilities and services.
Zagreb Franjo Tuđman Airport is 2 km from Zagreb city centre. Public transport options include:
Zagreb Franjo Tuđman Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge, and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in the terminal.
Lost and found is available at the station.
Available at Zagreb Franjo Tuđman Airport: Parking, Taxis, WC.
Accessibility facilities are available at Zagreb Franjo Tuđman Airport: Elevators, ramps.
Milan Linate Airport is 6 km from Milan city centre. Public transport options include:
Milan Linate Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge, and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Lost and found is available at the station.
Available at Milan Linate Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Linate Airport: Ramps, assistance.
Milan Malpensa Airport is 2 km from Milan city centre. Public transport options include:
Milan Malpensa Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge, and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in both terminals, near check-inas and gates.
Lost and found is available at the station.
Available at Milan Malpensa Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Malpensa Airport: Elevators, ramps.
Milan Bergamo Orio al Serio Airport is 1 km from Milan city centre. Public transport options include:
Milan Bergamo Orio al Serio Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge, and Lost and Found Office.
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Lost and found is available at the station.
Available at Milan Bergamo Orio al Serio Airport: Parking, Taxis, WC.
Accessibility facilities are available at Milan Bergamo Orio al Serio Airport: Elevators, ramps.
Here are some other resources that might have the information you need