- Must visit
Pinacoteca di Brera
One of Milan’s leading art museums, with Italian masterpieces from the Middle Ages to the 20th century in a historic palace.
Flights from Zurich to Milan depart on average 46 times per day, taking around 2h 8m. Cheap flight tickets for this journey start at £91 but you can travel from only £9 by coach.
There are 7 flights per day. The earliest flight runs at 05:50, the last at 23:55. The fastest flight covers the 217 km distance in 1h 10m. February is the cheapest month to fly.
Distance 217 km |
Average flight duration 2h 8m |
Cheapest ticket price £91 |
Flights per day 46 |
Direct flights 7 |
Fastest flight 1h 10m |
First flight 5:50 |
Last flight 23:55 |
Cheapest Month Feb |
Cheapest Day Sun |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Mon |
Least Busy Day Wed |
Best time to book 84 days |
Cheapest price on 07 Sept
£101
Average ticket price on 07 Sept
£553
Fastest journey on 07 Sept
55 m
Average journey duration on 07 Sept
58 m
Flights on 07 Sept
60
Distance
217 km
The best way to find a cheap flight ticket from Zurich to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Zurich to Milan will cost around £553 if you buy it on the day, but you can find cheap flight tickets today for only £101.
On Mon 07 Sept, we found 60 flights from Zurich to Milan, including 5 direct services.
These direct flights cover the 217 km distance in an average of 58 m but if you time it right, some flights will get you there in just 55 m .
The slowest flights will take 1 h 10 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.
ET737
VY6249 · VY6330
VY6261 · VY6338
VY6261 · VY6336
VY6247 · VY6340
LX1612
LX1638
LX1628
LX1622
ET737Omio recommends booking the train as it is the most popular option from Zurich to Milan among Omio's users. If you are prioritising price, take the coach, with an average ticket price of £22 For those with little time, consider booking a flight, which has an average total journey time of 4h 8m. If you are seeking to minimise your carbon footprint, the train is your best option, with estimated CO2 emissions of 0.1 - 0.2kg. Average ticket prices depend on the travel mode: a coach costs an average of £22, while a flight costs an average of £140.
Distance: 217 km
| Flight | Most popular Train | Coach | Driving |
|---|---|---|---|
£140 Average Price | £86 Average Price | £22 Average Price Cheapest | £97 Average Price (fuel + tolls) |
4h 8m Average total duration Fastest 2h 8m Onboard + 2h 0m Additional time* | 4h 31m Average total duration 4h 1m Onboard + 30m Additional time* | 4h 41m Average total duration 4h 11m Onboard + 30m Additional time* | 3h 41m Average total duration (door-to-door) |
0.7 - 1.3kg CO2 emissions | 0.1 - 0.2kg CO2 emissions Lowest | 0.2 - 0.5kg CO2 emissions | - CO2 emissions |
![]() Most popular airline | ![]() Most popular train company | ![]() Most popular bus company | Your own car or car rental |
Direct Options | 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 Zurich to Milan:
A coach is £64 less than a train for this route with tickets for a train from Zurich to Milan costing on average £86.
A coach is £118 less than a flight for this route with tickets for a flight from Zurich to Milan costing on average £140.
Other travel options to Milan take longer:
Train takes on average 4h 1m.
Coach takes on average 4h 11m.
The table below shows live departures for Zurich to Milan flights for today, Sunday 6 September. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
LH1191 · LH254 | 14:35 Zurich Airport | 3h25 | 18:00 Milan Malpensa Airport | 1 change | |
LH1191+ LH278 | 14:35 Zurich Airport | 3h50 | 18:25 Milan Linate Airport | 1 change | |
SN5114+ SN3159 | 17:15 Zurich Airport | 3h45 | 21:00 Milan Malpensa Airport | 1 change | |
LX1622 | 17:40 Zurich Airport | 0h55 | 18:35 Milan Malpensa Airport | 0 changesdirect | |
OS142 · OS529 | 18:00 Zurich Airport | 3h55 | 21:55 Milan Linate Airport | 1 change | |
BA737 · BA590 | 18:20 Zurich Airport | 5h15 | 23:35 Milan Malpensa Airport | 1 change | |
LH5741+ LH280 | 18:55 Zurich Airport | 3h20 | 22:15 Milan Linate Airport | 1 change | |
VY6249 · VY6330 | 20:35 Zurich Airport | 12h30 | 9:05 Milan Malpensa Airport | 1 change | |
ET737 | 21:00 Zurich Airport | 1h10 | 22:10 Milan Malpensa Airport | 0 changesdirect | |
LX1638 | 22:45 Zurich Airport | 0h55 | 23:40 Milan Malpensa Airport | 0 changesdirect | |
BA765+ BA7303 | 6:40 EuroAirport Basel Mulhouse Freiburg | 9h40 | 16:20 Milan Linate Airport | 1 change | |
BA765 · BA570 | 6:40 EuroAirport Basel Mulhouse Freiburg | 5h50 | 12:30 Milan Linate Airport | 1 change | |
BA765 · BA584 | 6:40 EuroAirport Basel Mulhouse Freiburg | 6h40 | 13:20 Milan Malpensa Airport | 1 change | |
BA765 · BA574 | 6:40 EuroAirport Basel Mulhouse Freiburg | 8h20 | 15:00 Milan Linate Airport | 1 change | |
BA765 · BA576 | 6:40 EuroAirport Basel Mulhouse Freiburg | 10h35 | 17:15 Milan Linate Airport | 1 change | |
BA765 · BA572 | 6:40 EuroAirport Basel Mulhouse Freiburg | 6h50 | 13:30 Milan Linate Airport | 1 change | |
LH5737+ LH248 | 6:55 Zurich Airport | 3h40 | 10:35 Milan Malpensa Airport | 1 change | |
LH5749+ LH5188 | 7:15 Zurich Airport | 3h25 | 10:40 Milan Linate Airport | 1 change | |
BA741 · BA570 | 7:15 Zurich Airport | 5h15 | 12:30 Milan Linate Airport | 1 change | |
BA741 · BA574 | 7:15 Zurich Airport | 7h45 | 15:00 Milan Linate Airport | 1 change | |
BA741+ BA7303 | 7:15 Zurich Airport | 9h05 | 16:20 Milan Linate Airport | 1 change | |
BA741 · BA584 | 7:15 Zurich Airport | 6h05 | 13:20 Milan Malpensa Airport | 1 change | |
BA741 · BA572 | 7:15 Zurich Airport | 6h15 | 13:30 Milan Linate Airport | 1 change | |
LX1100+ AZ451 | 7:15 Zurich Airport | 3h25 | 10:40 Milan Linate Airport | 1 change | |
SN5104+ SN4133 | 7:25 Zurich Airport | 3h30 | 10:55 Milan Linate Airport | 1 change | |
LX786+ AZ151 | 7:25 Zurich Airport | 3h30 | 10:55 Milan Linate Airport | 1 change | |
LH1183 · LH272 | 8:15 Zurich Airport | 3h45 | 12:00 Milan Linate Airport | 1 change | |
EW9761 · EW9822 | 8:40 Zurich Airport | 7h15 | 15:55 Milan Malpensa Airport | 1 change | |
LX1612 | 8:55 Zurich Airport | 0h55 | 9:50 Milan Malpensa Airport | 0 changesdirect | |
SN2730 · SN3147 | 9:00 Zurich Airport | 3h20 | 12:20 Milan Linate Airport | 1 change | |
LH5763+ LH1852 | 9:30 Zurich Airport | 3h30 | 13:00 Milan Linate Airport | 1 change | |
VY6247 · VY6334 | 9:30 Zurich Airport | 8h00 | 17:30 Milan Malpensa Airport | 1 change | |
VY6247 · VY6340 | 9:30 Zurich Airport | 5h10 | 14:40 Milan Malpensa Airport | 1 change | |
VY6247 · VY6338 | 9:30 Zurich Airport | 8h55 | 18:25 Milan Malpensa Airport | 1 change | |
VY6247 · VY6336 | 9:30 Zurich Airport | 11h30 | 21:00 Milan Malpensa Airport | 1 change | |
VY6247 · VY6332 | 9:30 Zurich Airport | 6h15 | 15:45 Milan Malpensa Airport | 1 change | |
BA8764+ BA578 | 10:10 Zurich Airport | 8h20 | 18:30 Milan Linate Airport | 1 change | |
BA8764+ BA586 | 10:10 Zurich Airport | 8h25 | 18:35 Milan Malpensa Airport | 1 change | |
BA8764+ BA576 | 10:10 Zurich Airport | 7h05 | 17:15 Milan Linate Airport | 1 change | |
BA8764 · BA7303 | 10:10 Zurich Airport | 6h10 | 16:20 Milan Linate Airport | 1 change | |
BA731 · BA578 | 10:35 Zurich Airport | 7h55 | 18:30 Milan Linate Airport | 1 change | |
BA731 · BA586 | 10:35 Zurich Airport | 8h00 | 18:35 Milan Malpensa Airport | 1 change | |
BA731 · BA576 | 10:35 Zurich Airport | 6h40 | 17:15 Milan Linate Airport | 1 change | |
OS134 · OS523 | 10:40 Zurich Airport | 3h30 | 14:10 Milan Linate Airport | 1 change | |
LH1187 · LH274 | 11:05 Zurich Airport | 3h35 | 14:40 Milan Linate Airport | 1 change | |
VF54 · VF61 | 11:30 Zurich Airport | 24h15 | 11:45 Milan Bergamo Orio al Serio Airport | 1 change | |
VF106 · VF61 | 11:45 EuroAirport Basel Mulhouse Freiburg | 24h00 | 11:45 Milan Bergamo Orio al Serio Airport | 1 change | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
Compare train, coach 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 Milan’s leading art museums, with Italian masterpieces from the Middle Ages to the 20th century in a historic palace.
The museum visit centres on Leonardo’s Last Supper, one of the city’s most sought-after cultural experiences.
A science and technology museum with Leonardo galleries, transport exhibits and hands-on displays in a former monastery.
Milan’s central square is the city’s main meeting point, framed by the cathedral, museums and lively pedestrian spaces.
This redeveloped canal district is popular for waterside walks, old railings, independent shops and a lively Milan atmosphere.
A refined district of elegant streets, Liberty villas and designer shops, ideal for architecture lovers and quieter walks.
Saffron risotto cooked to a creamy texture with butter and cheese. A signature Milanese dish linked to Lombardy’s love of rich, elegant rice dishes.
Breaded veal cutlet fried in butter until crisp. One of Milan’s best-known classics, traditionally served bone-in and prized for its simple, rich flavour.
Slow-braised veal shanks, often with vegetables and wine, usually served with risotto. A historic Lombard comfort dish known for tender meat and marrow.
Refined two-Michelin-star dining by Carlo Cracco in an elegant setting inside Galleria Vittorio Emanuele II. Known for modern Italian tasting menus.
Historic Milanese restaurant famed for ossobuco and Risotto alla Milanese. Formal, old-school atmosphere with strong ties to local culinary tradition.
Traditional trattoria celebrated for classic Milanese dishes including cotoletta and cassoeula. Warm, established venue with a loyal local following.
Moderate for Italy: hotels and dining run higher than many cities, but public transport is affordable and budget eats are easy to find.
Service is often included or modest. Round up or leave €1-2 in cafés, 5-10% in restaurants for good service, and round up taxi fares.
Official public transport app
Malpensa Aeroporto T1 -> Milano Centrale
Find answers to the most common questions about traveling from Zurich 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 Zurich to Milan flights use the Zurich Airport to Milan Linate Airport airport pair, with some services landing at Milan Malpensa Airport. Use this guide to compare Zurich and Milan airports on this route, check city-centre transport, alongside checking practicalities like airport facilities and services.
Zurich Airport is 1 km from Zurich city centre. Public transport options include:
Zurich 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 for 2 hours; additional time can be purchased. ATMs are located in Arrival and Departureas, offering multiple currencies.
Lost and found is available at the station.
Available at Zurich Airport: Parking, Taxis, WC.
Accessibility facilities are available at Zurich Airport: Elevators, ramps, assistance.
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