Journey information
Overview: Geneva to Milan flight
Flights from Geneva to Milan depart on average 31 times per day, taking around 2h 5m. Cheap flight tickets for this journey start at $120 but you can travel from only $22 by coach.
The earliest flight runs at 05:50, the last at 23:55. The fastest flight covers the 250 km distance in 2h 35m. March is the cheapest month to fly.
Distance 250 km |
Average flight duration 2h 5m |
Cheapest ticket price $120 |
Flights per day 31 |
Fastest flight 2h 35m |
First flight 5:50 AM |
Last flight 11:55 PM |
Cheapest Month Mar |
Cheapest Day Mon |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Thu |
Least Busy Day Sat |
Best time to book 77 days |
The cheapest and fastest flights from Geneva to Milan
Cheapest price
$192
Average price
$659
Fastest journey
1 h
Average duration
2 h 42 m
Flights per day
67
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 $659 if you buy it on the day, but you can find cheap flight tickets today for only $192.
Of the 67 flights that leave Geneva for Milan every day 1 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct flights cover the 250 km distance in an average of 2 h 42 m but if you time it right, some flights will get you there in just 1 h .
The slowest flights will take 3 h 30 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.
VY1223 · VY634210:45 PM14h30Lyon Saint Exupery Airport1:15 PMMilan Malpensa Airport$1921One-way1 change
VY1223 · VY633010:45 PM10h25Lyon Saint Exupery Airport9:10 AMMilan Malpensa Airport$1921One-way1 change
VY6203 · VY63306:40 PM14h30Geneva International Airport9:10 AMMilan Malpensa Airport$2311One-way1 change
EW9413 · EW98228:55 AM7h00Lyon Saint Exupery Airport3:55 PMMilan Malpensa Airport$2361One-way1 change
VY6201 · VY63369:45 AM11h15Geneva International Airport9:00 PMMilan Malpensa Airport$2781One-way1 change
T754176:25 PM1h00Lyon Saint Exupery Airport7:25 PMMilan Malpensa Airport$6931One-way0 changes
LX2805 · LX16127:15 AM2h35Geneva International Airport9:50 AMMilan Malpensa Airport$8841One-way1 change
LX2809+
LX162811:00 AM3h00Geneva International Airport2:00 PMMilan Malpensa Airport$8841One-way1 change
LH1213 · LH2728:35 AM3h25Geneva International Airport12:00 PMMilan Linate Airport$4951One-way1 change
AF1732+
AF73697:00 PM3h30Lyon Saint Exupery Airport10:30 PMMilan Linate Airport$3501One-way1 change
Travel Information
Compare train, coach and flight for Geneva to Milan
Omio recommends booking the coach as it is the most popular option from Geneva to Milan among Omio's users. If you are prioritising price take the coach with prices starting from $22. For those with little time consider booking a flight which can get you there in 2h 5m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.2kg. The ticket price range depends on the travel mode: a coach costs an average of $22, and a flight costs an average of $120.
Distance: 250 km
Compare flight with
| Flight | Most popular Coach | Train |
|---|---|---|
$262 Average Price | $39 Average Price Cheapest | $134 Average Price |
5h 5m Average total duration Fastest 2h 5m Onboard + 3h 0m Additional time* | 5h 59m Average total duration 5h 29m Onboard + 30m Additional time* | 5h 28m Average total duration 4h 58m Onboard + 30m Additional time* |
- CO2 emissions | 0.2 - 0.6kg CO2 emissions | 0.1 - 0.2kg CO2 emissions Lowest |
![]() Most popular airline | ![]() Most popular bus company | ![]() Most popular train company |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Geneva to Milan flight times
The table below shows live departures for Geneva to Milan flights for today, Monday, 4 May. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
LX4522 · SN3147 | 5:10 PM Geneva International Airport | 19h10 | 12:20 PM Milan Linate Airport | 1 change | |
SN2722 · SN3159 | 5:10 PM Geneva International Airport | 3h50 | 9:00 PM Milan Malpensa Airport | 1 change | |
LX4522 · SN3149 | 5:10 PM Geneva International Airport | 24h50 | 6:00 PM Milan Linate Airport | 1 change | |
LX4522+ SN3153 | 5:10 PM Geneva International Airport | 14h40 | 7:50 AM Milan Malpensa Airport | 1 change | |
BA751 · BA590 | 5:50 PM Geneva International Airport | 5h45 | 11:35 PM Milan Malpensa Airport | 1 change | |
OS154 · OS529 | 6:00 PM Geneva International Airport | 3h55 | 9:55 PM Milan Linate Airport | 1 change | |
T75417 | 6:25 PM Lyon Saint Exupery Airport | 1h00 | 7:25 PM Milan Malpensa Airport | 0 changesdirect | |
LH5747+ LH280 | 6:45 PM Geneva International Airport | 3h30 | 10:15 PM Milan Linate Airport | 1 change | |
LH5747+ LH5638 | 6:45 PM Geneva International Airport | 4h25 | 11:10 PM Milan Malpensa Airport | 1 change | |
LX2817+ LX1638 | 6:45 PM Geneva International Airport | 4h55 | 11:40 PM Milan Malpensa Airport | 1 change | |
LH1079+ LH5638 | 6:55 PM Lyon Saint Exupery Airport | 4h15 | 11:10 PM Milan Malpensa Airport | 1 change | |
LH1079+ EN8816 | 6:55 PM Lyon Saint Exupery Airport | 4h15 | 11:10 PM Milan Malpensa Airport | 1 change | |
AF7369 · AF1830 | 7:00 PM Lyon Saint Exupery Airport | 13h15 | 8:15 AM Milan Malpensa Airport | 1 change | |
AF7369 · AF1130 | 7:00 PM Lyon Saint Exupery Airport | 4h00 | 11:00 PM Milan Malpensa Airport | 1 change | |
AF7369 · AF1732 | 7:00 PM Lyon Saint Exupery Airport | 3h30 | 10:30 PM Milan Linate Airport | 1 change | |
BA745 · BA568 | 7:15 PM Geneva International Airport | 14h55 | 10:10 AM Milan Linate Airport | 1 change | |
BA745+ BA7301 | 7:15 PM Geneva International Airport | 14h40 | 9:55 AM Milan Linate Airport | 1 change | |
LX2819+ LX1638 | 8:00 PM Geneva International Airport | 3h40 | 11:40 PM Milan Malpensa Airport | 1 change | |
BA755 · BA570 | 9:15 PM Geneva International Airport | 15h15 | 12:30 PM Milan Linate Airport | 1 change | |
SN2724+ SN3153 | 9:15 PM Geneva International Airport | 10h35 | 7:50 AM Milan Malpensa Airport | 1 change | |
BA755 · BA568 | 9:15 PM Geneva International Airport | 12h55 | 10:10 AM Milan Linate Airport | 1 change | |
BA755+ BA7301 | 9:15 PM Geneva International Airport | 12h40 | 9:55 AM Milan Linate Airport | 1 change | |
VY1225 · VY6330 | 10:45 PM Lyon Saint Exupery Airport | 10h15 | 9:00 AM Milan Malpensa Airport | 1 change | |
VY1225 · VY6342 | 10:45 PM Lyon Saint Exupery Airport | 14h30 | 1:15 PM Milan Malpensa Airport | 1 change | |
| Tuesday, 5 May | |||||
AF7371 · AF1412 | 6:00 AM Lyon Saint Exupery Airport | 5h20 | 11:20 AM Milan Linate Airport | 1 change | |
AF7371 · AF1330 | 6:00 AM Lyon Saint Exupery Airport | 4h25 | 10:25 AM Milan Malpensa Airport | 1 change | |
LX2801 · LX1612 | 6:00 AM Geneva International Airport | 3h50 | 9:50 AM Milan Malpensa Airport | 1 change | |
LH5743+ LH270 | 6:10 AM Geneva International Airport | 3h50 | 10:00 AM Milan Linate Airport | 1 change | |
LH5743+ LH248 | 6:10 AM Geneva International Airport | 4h25 | 10:35 AM Milan Malpensa Airport | 1 change | |
BA757 · BA574 | 7:00 AM Geneva International Airport | 8h05 | 3:05 PM Milan Linate Airport | 1 change | |
BA757 · BA572 | 7:00 AM Geneva International Airport | 6h35 | 1:35 PM Milan Linate Airport | 1 change | |
BA757 · BA584 | 7:00 AM Geneva International Airport | 6h45 | 1:45 PM Milan Malpensa Airport | 1 change | |
BA757 · BA570 | 7:00 AM Geneva International Airport | 5h30 | 12:30 PM Milan Linate Airport | 1 change | |
SN3594+ SN3147 | 7:05 AM Lyon Saint Exupery Airport | 5h15 | 12:20 PM Milan Linate Airport | 1 change | |
SN2726 · SN3147 | 7:05 AM Geneva International Airport | 5h15 | 12:20 PM Milan Linate Airport | 1 change | |
SN2726+ SN4133 | 7:05 AM Geneva International Airport | 3h50 | 10:55 AM Milan Linate Airport | 1 change | |
SN3594+ SN4133 | 7:05 AM Lyon Saint Exupery Airport | 3h50 | 10:55 AM Milan Linate Airport | 1 change | |
LX2805 · LX1612 | 7:15 AM Geneva International Airport | 2h35 | 9:50 AM Milan Malpensa Airport | 1 change | |
SN2712 · SN3147 | 8:15 AM Geneva International Airport | 4h05 | 12:20 PM Milan Linate Airport | 1 change | |
LH1213+ LH5636 | 8:35 AM Geneva International Airport | 5h15 | 1:50 PM Milan Malpensa Airport | 1 change | |
LH1213 · LH272 | 8:35 AM Geneva International Airport | 3h25 | 12:00 PM Milan Linate Airport | 1 change | |
EW9413 · EW9822 | 8:55 AM Lyon Saint Exupery Airport | 7h00 | 3:55 PM Milan Malpensa Airport | 1 change | |
OS152 · OS523 | 9:35 AM Geneva International Airport | 4h35 | 2:10 PM Milan Linate Airport | 1 change | |
VY6201 · VY6338 | 9:45 AM Geneva International Airport | 12h45 | 10:30 PM Milan Malpensa Airport | 1 change | |
VY6201 · VY6336 | 9:45 AM Geneva International Airport | 11h15 | 9:00 PM Milan Malpensa Airport | 1 change | |
VY6201 · VY6340 | 9:45 AM Geneva International Airport | 4h55 | 2:40 PM Milan Malpensa Airport | 1 change | |
VY6201 · VY6332 | 9:45 AM Geneva International Airport | 6h10 | 3:55 PM Milan Malpensa Airport | 1 change | |
LX2807+ LX1628 | 10:00 AM Geneva International Airport | 4h00 | 2:00 PM Milan Malpensa Airport | 1 change | |
BA743 · BA574 | 10:10 AM Geneva International Airport | 4h55 | 3:05 PM Milan Linate Airport | 1 change | |
BA743 · BA586 | 10:10 AM Geneva International Airport | 7h35 | 5:45 PM Milan Malpensa Airport | 1 change | |
BA743 · BA576 | 10:10 AM Geneva International Airport | 7h05 | 5:15 PM Milan Linate Airport | 1 change | |
BA743 · BA578 | 10:10 AM Geneva International Airport | 8h45 | 6:55 PM Milan Linate Airport | 1 change | |
LH5745+ LH274 | 10:15 AM Geneva International Airport | 4h25 | 2:40 PM Milan Linate Airport | 1 change | |
LH5745+ LH5636 | 10:15 AM Geneva International Airport | 3h35 | 1:50 PM Milan Malpensa Airport | 1 change | |
AF7363 · AF1012 | 10:20 AM Lyon Saint Exupery Airport | 3h35 | 1:55 PM Milan Linate Airport | 1 change | |
AF7363 · AF1230 | 10:20 AM Lyon Saint Exupery Airport | 4h25 | 2:45 PM Milan Malpensa Airport | 1 change | |
EN8911+ EN276 | 10:30 AM Lyon Saint Exupery Airport | 7h00 | 5:30 PM Milan Linate Airport | 1 change | |
LH5673+ LH274 | 10:30 AM Lyon Saint Exupery Airport | 4h10 | 2:40 PM Milan Linate Airport | 1 change | |
LH5673+ LH254 | 10:30 AM Lyon Saint Exupery Airport | 7h30 | 6:00 PM Milan Malpensa Airport | 1 change | |
EN8911+ LH254 | 10:30 AM Lyon Saint Exupery Airport | 7h30 | 6:00 PM Milan Malpensa Airport | 1 change | |
EN8911+ LH274 | 10:30 AM Lyon Saint Exupery Airport | 4h10 | 2:40 PM Milan Linate Airport | 1 change | |
LH5673 · LH276 | 10:30 AM Lyon Saint Exupery Airport | 7h00 | 5:30 PM Milan Linate Airport | 1 change | |
LX2809+ LX1628 | 11:00 AM Geneva International Airport | 3h00 | 2:00 PM Milan Malpensa Airport | 1 change | |
AF7365 · AF1730 | 11:20 AM Lyon Saint Exupery Airport | 6h15 | 5:35 PM Milan Malpensa Airport | 1 change | |
BA745+ BA7305 | 11:50 AM Geneva International Airport | 7h50 | 7:40 PM Milan Linate Airport | 1 change | |
BA745 · BA576 | 11:50 AM Geneva International Airport | 5h25 | 5:15 PM Milan Linate Airport | 1 change | |
BA745 · BA578 | 11:50 AM Geneva International Airport | 7h05 | 6:55 PM Milan Linate Airport | 1 change | |
BA745 · BA586 | 11:50 AM Geneva International Airport | 5h55 | 5:45 PM Milan Malpensa Airport | 1 change | |
OS354+ OS527 | 12:55 PM Lyon Saint Exupery Airport | 6h15 | 7:10 PM Milan Linate Airport | 1 change | |
OS354+ OS141+ LX1622 | 12:55 PM Lyon Saint Exupery Airport | 5h40 | 6:35 PM Milan Malpensa Airport | 2 changes | |
SN3588+ SN4131 | 1:10 PM Lyon Saint Exupery Airport | 8h30 | 9:40 PM Milan Linate Airport | 1 change | |
SN3588+ SN3149 | 1:10 PM Lyon Saint Exupery Airport | 4h50 | 6:00 PM Milan Linate Airport | 1 change | |
SN3588+ SN3159 | 1:10 PM Lyon Saint Exupery Airport | 7h50 | 9:00 PM Milan Malpensa Airport | 1 change | |
VF330 · VF61 | 1:20 PM Geneva International Airport | 22h25 | 11:45 AM Milan Bergamo Orio al Serio Airport | 1 change | |
LX2813 · LX1622 | 2:30 PM Geneva International Airport | 4h05 | 6:35 PM Milan Malpensa Airport | 1 change | |
Find all the dates and times for this journey
How far in advance should I book flight tickets from Geneva to Milan?
Compare prices and tickets Geneva to Milan by train, coach or flight
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.
04 May
05 May
06 May
07 May
08 May
09 May
10 May
11 May
12 May
13 May
14 May
15 May
16 May
17 May
18 May
19 May
20 May
21 May
22 May
23 May
24 May
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 Airlines, Helvetic Airways, Air Baltic or Air Dolomiti 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 Airlines, Helvetic Airways, Air Baltic or Air Dolomiti 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: Gulf Air, Vueling Airlines, Helvetic Airways, Air Baltic, Air Dolomiti, Lufthansa, Twin Jet, Swiss, Eurowings from Geneva to MilanFind the best flights between Geneva to Milan with Omio's travel partners Gulf Air, Vueling Airlines, Helvetic Airways, Air Baltic, Air Dolomiti, Lufthansa, Twin Jet, Swiss, Eurowings from $22. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
Twin Jet
Lufthansa
Swiss
Gulf Air
Vueling Airlines
Air Baltic
Air Dolomiti
Eurowings
Helvetic Airways
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
- Free Wi-Fi available for 90 minutes.
- Shops in the main terminal, duty-free, Swatch, and Montblanc.
- Parking available; P1 (long-term) and P2 (short-term), approximately 3.6€ (CHF 3.50) per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Several lounges available, Swissport Horizon Lounge, Dnata Skyview Lounge.
- Located in the arrivals area.
- Bus: 5, 10, 23, 28, 57, Y
- Train: IC, IR, RE
- Free Wi-Fi available throughout the airport.
- Shops available in both terminals, including duty-free and fashion brands like Gucci and Prada.
- Parking available at Terminal 1 and Terminal 2, approximately 2.5€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounges available in Terminal 1, including Sala Montale and Club SEA.
- Located in both terminals, near baggage claim.
- Train: Malpensa Express
- Bus: Terravision, Autostradale, Malpensa Shuttle
- Free Wi-Fi available throughout the airport.
- Shops available, including Duty-Free and WHSmith, located in the departures area.
- Parking available in P1, P2, and P3 lots, approximately 2.5€ per hour.
- Available outside the terminal.
- Ramps, assistance.
- Available throughout the airport.
- Yes
- Lounge available, Sala Leonardo Lounge, access with membership or fee.
- Located in the arrivals area, near baggage claim.
- Bus 73
- Bus X73
- Free Wi-Fi available throughout the airport.
- Shops available, including duty-free and fashion stores, located in the departures area.
- Parking available near the terminal, approximately 3€ per hour.
- Available outside the terminal.
- Elevators, ramps.
- Available throughout the airport.
- Yes
- Lounge available, with access for a fee or membership.
- Located in the arrivals area.
- Bus: Line 1, Line 5
- Train: NA
- Metro: NA
More options for your journey from Geneva to Milan
Here are some other resources that might have the information you need











