The cheapest and fastest flights from Geneva to Milan
- Cheapest price on 12 Nov
- €170
- Average ticket price on 12 Nov
- €574
- Fastest journey on 12 Nov
- 2 h 35 m
- Average journey duration on 12 Nov
- 3 h 8 m
- Flights on 12 Nov
- 83
- Distance
- 250 km
The best way to find a cheap flight ticket from Geneva to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Geneva to Milan will cost around €574 if you buy it on the day, but you can find cheap flight tickets today for only €170.
To travel from Geneva to Milan you need to make at least one change.
SN3588 · SN315911:55 AM 9h15 Lyon Saint Exupery Airport 9:10 PM Milan Malpensa Airport €170 1 One-way 1 change
VF82 · VF612:45 PM 21h25 Lyon Saint Exupery Airport 12:10 PM Milan Bergamo Orio al Serio Airport €174 1 One-way 1 change
VF82+
VF632:45 PM 24h10 Lyon Saint Exupery Airport 2:55 PM Milan Bergamo Orio al Serio Airport €200 1 One-way 1 change
LH6904+
LH45916:30 AM 3h35 Lyon Saint Exupery Airport 10:05 AM Milan Linate Airport €204 1 One-way 1 change
LH274+
LH459310:40 AM 3h25 Lyon Saint Exupery Airport 2:05 PM Milan Linate Airport €204 1 One-way 1 change
LX2819+
LX16388:15 PM 2h35 Geneva International Airport 10:50 PM Milan Malpensa Airport €680 1 One-way 1 change
LH2383+
LH94489:25 AM 3h00 Geneva International Airport 12:25 PM Milan Malpensa Airport €561 1 One-way 1 change
LH1223+
LH69046:50 AM 3h15 Geneva International Airport 10:05 AM Milan Linate Airport €431 1 One-way 1 change
LH1213+
LH2729:15 AM 3h25 Geneva International Airport 12:40 PM Milan Linate Airport €431 1 One-way 1 change
LH274+
LH459310:40 AM 3h25 Lyon Saint Exupery Airport 2:05 PM Milan Linate Airport €204 1 One-way 1 change
Journey information
Overview: Geneva to Milan flight
Flights from Geneva to Milan depart on average 63 times per day, taking around 2h 56m. Cheap flight tickets for this journey start at €39 but you can travel from only €17 by coach.
There are 1 flights per day. The earliest flight runs at 00:10, the last at 23:55. The fastest flight covers the 250 km distance in 1h 0m. December is the cheapest month to fly.
Distance 250 km |
Average flight duration 2h 56m |
Cheapest ticket price €39 |
Flights per day 63 |
Direct flights 1 |
Fastest flight 1h 0m |
First flight 12:10 AM |
Last flight 11:55 PM |
Cheapest Month Dec |
Cheapest Day Sat |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Fri |
Least Busy Day Mon |
Best time to book 77 days |
Frequently asked questions about your Geneva to Milan trip
Use these quick route answers to check fares, travel time, departure options, and direct services before booking from Geneva to Milan.
Live departures
Geneva to Milan flight times
The table below shows live departures for Geneva to Milan flights for tomorrow, Thursday, 12 November. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
LH6904+ LH4591 | 6:30 AM Lyon Saint Exupery Airport | 3h35 | 10:05 AM Milan Linate Airport | 1 change | |
EN270+ LH4591 | 6:30 AM Lyon Saint Exupery Airport | 3h35 | 10:05 AM Milan Linate Airport | 1 change | |
AZ7409+ LH4591 | 6:30 AM Lyon Saint Exupery Airport | 3h35 | 10:05 AM Milan Linate Airport | 1 change | |
EN270+ 4Y615 | 6:30 AM Lyon Saint Exupery Airport | 3h35 | 10:05 AM Milan Linate Airport | 1 change | |
LH6904+ 4Y615 | 6:30 AM Lyon Saint Exupery Airport | 3h35 | 10:05 AM Milan Linate Airport | 1 change | |
AZ7409+ 4Y615 | 6:30 AM Lyon Saint Exupery Airport | 3h35 | 10:05 AM Milan Linate Airport | 1 change | |
BA751 · BA572 | 6:45 AM Geneva International Airport | 8h55 | 3:40 PM Milan Linate Airport | 1 change | |
BA751 · BA570 | 6:45 AM Geneva International Airport | 6h40 | 1:25 PM Milan Linate Airport | 1 change | |
BA751 · BA578 | 6:45 AM Geneva International Airport | 7h45 | 2:30 PM Milan Linate Airport | 1 change | |
BA751 · BA584 | 6:45 AM Geneva International Airport | 9h35 | 4:20 PM Milan Linate Airport | 1 change | |
BA751+ BA7303 | 6:45 AM Geneva International Airport | 7h25 | 2:10 PM Milan Linate Airport | 1 change | |
LH1223+ LH6904 | 6:50 AM Geneva International Airport | 3h15 | 10:05 AM Milan Linate Airport | 1 change | |
AF7371 · AF1130 | 6:55 AM Lyon Saint Exupery Airport | 4h50 | 11:45 AM Milan Malpensa Airport | 1 change | |
AF7371 · AF1412 | 6:55 AM Lyon Saint Exupery Airport | 4h20 | 11:15 AM Milan Linate Airport | 1 change | |
SN5110+ SN3147 | 7:00 AM Geneva International Airport | 5h20 | 12:20 PM Milan Linate Airport | 1 change | |
SN5110+ SN4133 | 7:00 AM Geneva International Airport | 4h00 | 11:00 AM Milan Linate Airport | 1 change | |
SN2712 · SN3147 | 8:15 AM Geneva International Airport | 4h05 | 12:20 PM Milan Linate Airport | 1 change | |
LH1213+ LH272 | 9:15 AM Geneva International Airport | 3h25 | 12:40 PM Milan Linate Airport | 1 change | |
LH1868+ LH5114+ LH4265 | 9:20 AM Lyon Saint Exupery Airport | 5h50 | 3:10 PM Milan Linate Airport | 2 changes | |
LH2383+ LH9448 | 9:25 AM Geneva International Airport | 3h00 | 12:25 PM Milan Malpensa Airport | 1 change | |
BA357 · BA572 | 9:45 AM Lyon Saint Exupery Airport | 5h55 | 3:40 PM Milan Linate Airport | 1 change | |
BA357 · BA584 | 9:45 AM Lyon Saint Exupery Airport | 6h35 | 4:20 PM Milan Linate Airport | 1 change | |
BA357 · BA574 | 9:45 AM Lyon Saint Exupery Airport | 8h05 | 5:50 PM Milan Linate Airport | 1 change | |
BA357+ BA7305 | 9:45 AM Lyon Saint Exupery Airport | 9h55 | 7:40 PM Milan Linate Airport | 1 change | |
LX2807+ LX1628 | 10:05 AM Geneva International Airport | 4h10 | 2:15 PM Milan Malpensa Airport | 1 change | |
BA727+ BA7305 | 10:15 AM Geneva International Airport | 9h25 | 7:40 PM Milan Linate Airport | 1 change | |
BA727 · BA584 | 10:15 AM Geneva International Airport | 6h05 | 4:20 PM Milan Linate Airport | 1 change | |
BA727 · BA574 | 10:15 AM Geneva International Airport | 7h35 | 5:50 PM Milan Linate Airport | 1 change | |
BA727 · BA572 | 10:15 AM Geneva International Airport | 5h25 | 3:40 PM Milan Linate Airport | 1 change | |
AF7361 · AF1012 | 10:25 AM Lyon Saint Exupery Airport | 3h30 | 1:55 PM Milan Linate Airport | 1 change | |
AF7361 · AF1330 | 10:25 AM Lyon Saint Exupery Airport | 4h30 | 2:55 PM Milan Malpensa Airport | 1 change | |
LX2809+ LX1628 | 10:35 AM Geneva International Airport | 3h40 | 2:15 PM Milan Malpensa Airport | 1 change | |
TK1808 · TK1873 | 10:40 AM Lyon Saint Exupery Airport | 23h20 | 10:00 AM Milan Malpensa Airport | 1 change | |
TK1808 · TK1875 | 10:40 AM Lyon Saint Exupery Airport | 30h10 | 4:50 PM Milan Malpensa Airport | 1 change | |
TK1808 · TK1877 | 10:40 AM Lyon Saint Exupery Airport | 11h10 | 9:50 PM Milan Malpensa Airport | 1 change | |
TK1808 · TK1895 | 10:40 AM Lyon Saint Exupery Airport | 26h50 | 1:30 PM Milan Malpensa Airport | 1 change | |
LH274+ LH4593 | 10:40 AM Lyon Saint Exupery Airport | 3h25 | 2:05 PM Milan Linate Airport | 1 change | |
AZ7289+ LH4593 | 10:40 AM Lyon Saint Exupery Airport | 3h25 | 2:05 PM Milan Linate Airport | 1 change | |
LH274+ 4Y617 | 10:40 AM Lyon Saint Exupery Airport | 3h25 | 2:05 PM Milan Linate Airport | 1 change | |
AZ7289+ 4Y617 | 10:40 AM Lyon Saint Exupery Airport | 3h25 | 2:05 PM Milan Linate Airport | 1 change | |
TK1918 · TK1895 | 10:45 AM Geneva International Airport | 26h45 | 1:30 PM Milan Malpensa Airport | 1 change | |
TK1918 · TK1873 | 10:45 AM Geneva International Airport | 23h15 | 10:00 AM Milan Malpensa Airport | 1 change | |
TK1918 · TK1877 | 10:45 AM Geneva International Airport | 11h05 | 9:50 PM Milan Malpensa Airport | 1 change | |
TK1918 · TK1875 | 10:45 AM Geneva International Airport | 30h05 | 4:50 PM Milan Malpensa Airport | 1 change | |
AZ575 · AZ2038 | 11:35 AM Geneva International Airport | 4h05 | 3:40 PM Milan Linate Airport | 1 change | |
AZ575 · AZ2044 | 11:35 AM Geneva International Airport | 3h35 | 3:10 PM Milan Linate Airport | 1 change | |
AF7363 · AF1730 | 11:35 AM Lyon Saint Exupery Airport | 5h50 | 5:25 PM Milan Malpensa Airport | 1 change | |
SN3588 · SN3159 | 11:55 AM Lyon Saint Exupery Airport | 9h15 | 9:10 PM Milan Malpensa Airport | 1 change | |
SN3588 · SN3149 | 11:55 AM Lyon Saint Exupery Airport | 5h55 | 5:50 PM Milan Linate Airport | 1 change | |
SN3588+ SN4131 | 11:55 AM Lyon Saint Exupery Airport | 9h50 | 9:45 PM Milan Linate Airport | 1 change | |
OS354+ OS525 | 12:50 PM Lyon Saint Exupery Airport | 3h35 | 4:25 PM Milan Linate Airport | 1 change | |
OS354+ AZ7701 | 12:50 PM Lyon Saint Exupery Airport | 3h35 | 4:25 PM Milan Linate Airport | 1 change | |
BA731 · BA576 | 1:10 PM Geneva International Airport | 8h25 | 9:35 PM Milan Linate Airport | 1 change | |
BA731 · BA588 | 1:10 PM Geneva International Airport | 6h55 | 8:05 PM Milan Malpensa Airport | 1 change | |
LX2813+ LX1622 | 1:40 PM Geneva International Airport | 4h50 | 6:30 PM Milan Malpensa Airport | 1 change | |
LH1217+ LH6902 | 1:55 PM Geneva International Airport | 4h00 | 5:55 PM Milan Malpensa Airport | 1 change | |
TK1922 · TK1895 | 2:35 PM Geneva International Airport | 22h55 | 1:30 PM Milan Malpensa Airport | 1 change | |
TK1922 · TK1877 | 2:35 PM Geneva International Airport | 7h15 | 9:50 PM Milan Malpensa Airport | 1 change | |
TK1922 · TK1875 | 2:35 PM Geneva International Airport | 26h15 | 4:50 PM Milan Malpensa Airport | 1 change | |
TK1922 · TK1873 | 2:35 PM Geneva International Airport | 19h25 | 10:00 AM Milan Malpensa Airport | 1 change | |
AF7365 · AF1312 | 2:40 PM Lyon Saint Exupery Airport | 4h40 | 7:20 PM Milan Linate Airport | 1 change | |
LX2811+ LX1622 | 2:40 PM Geneva International Airport | 3h50 | 6:30 PM Milan Malpensa Airport | 1 change | |
VF82 · VF61 | 2:45 PM Lyon Saint Exupery Airport | 21h25 | 12:10 PM Milan Bergamo Orio al Serio Airport | 1 change | |
VF82+ VF63 | 2:45 PM Lyon Saint Exupery Airport | 24h10 | 2:55 PM Milan Bergamo Orio al Serio Airport | 1 change | |
BA359 · BA576 | 3:20 PM Lyon Saint Exupery Airport | 6h15 | 9:35 PM Milan Linate Airport | 1 change | |
BA735 · BA576 | 3:35 PM Geneva International Airport | 6h00 | 9:35 PM Milan Linate Airport | 1 change | |
SN2722 · SN3159 | 5:10 PM Geneva International Airport | 4h00 | 9:10 PM Milan Malpensa Airport | 1 change | |
OS154 · OS529 | 5:40 PM Geneva International Airport | 4h20 | 10:00 PM Milan Linate Airport | 1 change | |
TK1810 · TK1873 | 6:10 PM Lyon Saint Exupery Airport | 15h50 | 10:00 AM Milan Malpensa Airport | 1 change | |
TK1810 · TK1877 | 6:10 PM Lyon Saint Exupery Airport | 27h40 | 9:50 PM Milan Malpensa Airport | 1 change | |
TK1810 · TK1875 | 6:10 PM Lyon Saint Exupery Airport | 22h40 | 4:50 PM Milan Malpensa Airport | 1 change | |
TK1810 · TK1895 | 6:10 PM Lyon Saint Exupery Airport | 19h20 | 1:30 PM Milan Malpensa Airport | 1 change | |
LH1221 · LH5638 | 6:25 PM Geneva International Airport | 3h40 | 10:05 PM Milan Malpensa Airport | 1 change | |
TK1920 · TK1873 | 6:25 PM Geneva International Airport | 15h35 | 10:00 AM Milan Malpensa Airport | 1 change | |
TK1920 · TK1875 | 6:25 PM Geneva International Airport | 22h25 | 4:50 PM Milan Malpensa Airport | 1 change | |
TK1920 · TK1877 | 6:25 PM Geneva International Airport | 27h25 | 9:50 PM Milan Malpensa Airport | 1 change | |
TK1920 · TK1895 | 6:25 PM Geneva International Airport | 19h05 | 1:30 PM Milan Malpensa Airport | 1 change | |
AF7369 · AF1732 | 6:35 PM Lyon Saint Exupery Airport | 3h50 | 10:25 PM Milan Linate Airport | 1 change | |
AF7369 · AF1230 | 6:35 PM Lyon Saint Exupery Airport | 4h25 | 11:00 PM Milan Malpensa Airport | 1 change | |
LH1884+ LH4277 | 6:40 PM Lyon Saint Exupery Airport | 14h20 | 9:00 AM Milan Linate Airport | 1 change | |
LX2817+ LX1638 | 6:50 PM Geneva International Airport | 4h00 | 10:50 PM Milan Malpensa Airport | 1 change | |
AZ577 · AZ2130 | 6:55 PM Geneva International Airport | 4h15 | 11:10 PM Milan Linate Airport | 1 change | |
LX2819+ LX1638 | 8:15 PM Geneva International Airport | 2h35 | 10:50 PM Milan Malpensa Airport | 1 change | |
This is the last flight of the day. | |||||
Find all the dates and times for this journey
How far in advance should I book flight tickets from Geneva to Milan?
Why should you book Geneva to Milan flights with Omio?
Why book with Omio vs Gulf Air?
- Compare with other providers: On Omio, you can not only buy tickets for Gulf Air, but also compare tickets for the likes of Vueling, Helvetic Airways, Air Baltic or Lufthansa to find the best option for your trip from Geneva to Milan.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
- Compare all your options: Omio allows you to compare Gulf Air with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Geneva to Milan.
Why book with Omio over Skyscanner, Kayak or Edreams?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Vueling, Helvetic Airways, Air Baltic or Lufthansa to find the best option for your trip from Geneva to Milan.
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Geneva to Milan.
Airlines: Lufthansa, Vueling, Air France, British Airways, Air Dolomiti, Swiss, Brussels Airlines, Lufthansa Cityline, Helvetic Airways, ITA from Geneva to MilanFind the best flights between Geneva to Milan with Omio's travel partners Lufthansa, Vueling, Air France, British Airways, Air Dolomiti, Swiss, Brussels Airlines, Lufthansa Cityline, Helvetic Airways, ITA from €17. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
Lufthansa
Air France
British Airways
Swiss
Lufthansa Cityline
ITA
Vueling
Air Dolomiti
Brussels Airlines
Helvetic Airways
Companies, tickets, and onboard amenities between Geneva and Milan
Review the details behind your booking, from operators and ticket rules to luggage, onboard amenities, accessibility, and route-specific travel policies.
FAQs: Geneva to Milan flights
Find answers to the most common questions about traveling from Geneva 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.

popular airports
Important Stations and Airports in Geneva and Milan
Most Geneva to Milan flights use the Geneva International Airport to Milan Malpensa Airport airport pair, with some services landing at Milan Linate Airport. Use this guide to compare Geneva and Milan airports on this route, check city-centre transport, alongside checking practicalities like airport facilities and services.
Which Geneva airport do flights to Milan leave from?
Getting to Geneva International Airport from Geneva city centre
Geneva International Airport is 1 km from Geneva city centre. Public transport options include:
Geneva International Airport airport facilities and services
Geneva International Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Wi-Fi and ATMs
Free Wi-Fi available for 90 minutes. ATMs are located in the arrivals and departures areas.
Luggage and lost property
Lost and found is available at the station.
Parking, taxis and toilets
Available at Geneva International Airport: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Geneva International Airport: Elevators, ramps.
Which Milan airport do flights from Geneva arrive at?
Getting to Milan Malpensa Airport from Milan city centre
Milan Malpensa Airport is 2 km from Milan city centre. Public transport options include:
Milan Malpensa Airport airport facilities and services
Milan Malpensa Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Wi-Fi and ATMs
Free Wi-Fi available throughout the airport. ATMs are located in both terminals, near check-inas and gates.
Luggage and lost property
Lost and found is available at the station.
Parking, taxis and toilets
Available at Milan Malpensa Airport: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milan Malpensa Airport: Elevators, ramps.
Getting to Milan Linate Airport from Milan city centre
Milan Linate Airport is 6 km from Milan city centre. Public transport options include:
Milan Linate Airport airport facilities and services
Milan Linate Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, Shower, Lounge and Lost and Found Office.
Wi-Fi and ATMs
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Luggage and lost property
Lost and found is available at the station.
Parking, taxis and toilets
Available at Milan Linate Airport: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milan Linate Airport: Ramps, assistance.
Getting to Milan Bergamo Orio al Serio Airport from Milan city centre
Milan Bergamo Orio al Serio Airport is 1 km from Milan city centre. Public transport options include:
Milan Bergamo Orio al Serio Airport airport facilities and services
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.
Wi-Fi and ATMs
Free Wi-Fi available throughout the airport. ATMs are located in the arrivals and departures areas.
Luggage and lost property
Lost and found is available at the station.
Parking, taxis and toilets
Available at Milan Bergamo Orio al Serio Airport: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milan Bergamo Orio al Serio Airport: Elevators, ramps.
More options for your journey from Geneva to Milan
Here are some other resources that might have the information you need






