- 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 Paris to Milan depart on average 109 times per day, taking around 4h 15m. Cheap flight tickets for this journey start at £19 if you book in advance.
There are 27 flights per day. The earliest flight runs at 00:10, the last at 23:55. The fastest flight covers the 640 km distance in 1h 15m. July is the cheapest month to fly.
Distance 640 km |
Average flight duration 4h 15m |
Cheapest ticket price £19 |
Flights per day 109 |
Direct flights 27 |
Fastest flight 1h 15m |
First flight 0:10 |
Last flight 23:55 |
Cheapest Month Jul |
Cheapest Day Sun |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Thu |
Least Busy Day Sun |
Best time to book 14 days |
Cheapest price
£65
Average price
£360
Fastest journey
1 h 25 m
Average duration
1 h 25 m
Flights per day
81
Distance
640 km
The best way to find a cheap flight ticket from Paris to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Paris to Milan will cost around £360 if you buy it on the day, but you can find cheap flight tickets today for only £65.
Of the 81 flights that leave Paris for Milan every day 20 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct flights cover the 640 km distance in an average of 1 h 25 m but if you time it right, some flights will get you there in just 1 h 25 m .
The slowest flights will take 1 h 25 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.
TO3940
FR 3433
TO3948
U24541
U24889
AF1312
U24939
U23822
U24889
U24943Omio recommends booking the train as it is the most popular option from Paris to Milan among Omio's users. If you are prioritising price take the coach with prices starting from £21. For those with little time consider booking a flight which can get you there in 4h 15m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.2 - 0.6kg. The ticket price range depends on the travel mode: a coach costs an average of £21, and a flight costs an average of £19.
Distance: 640 km
| Flight | Most popular Train | Coach |
|---|---|---|
£154 Average Price | £145 Average Price | £46 Average Price Cheapest |
7h 15m Average total duration Fastest 4h 15m Onboard + 3h 0m Additional time* | 6h 47m Average total duration 6h 17m Onboard + 30m Additional time* | 6h 24m Average total duration 5h 54m Onboard + 30m Additional time* |
1.9 - 3.8kg CO2 emissions | 0.2 - 0.6kg CO2 emissions Lowest | 0.6 - 1.6kg CO2 emissions |
![]() Most popular airline | ![]() Most popular train company | ![]() Most popular bus company |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
The table below shows live departures for Paris to Milan flights for tomorrow, Monday 24 August. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
IB592 · IB673 | 6:00 Paris Charles de Gaulle Airport | 7h40 | 13:40 Milan Malpensa Airport | 1 change | |
IB592 · IB675 | 6:00 Paris Charles de Gaulle Airport | 12h15 | 18:15 Milan Malpensa Airport | 1 change | |
U24541 | 6:10 Paris Charles de Gaulle Airport | 1h30 | 7:40 Milan Malpensa Airport | 0 changesdirect | |
U24889 | 6:25 Paris Orly Airport | 1h25 | 7:50 Milan Linate Airport | 0 changesdirect | |
LX647+ LX1612 | 6:45 Paris Charles de Gaulle Airport | 3h05 | 9:50 Milan Malpensa Airport | 1 change | |
IB584 · IB673 | 7:25 Paris Orly Airport | 6h15 | 13:40 Milan Malpensa Airport | 1 change | |
TO3940 | 7:30 Paris Orly Airport | 1h35 | 9:05 Milan Malpensa Airport | 0 changesdirect | |
BA315 · BA570 | 7:50 Paris Charles de Gaulle Airport | 4h40 | 12:30 Milan Linate Airport | 1 change | |
BA315 · BA584 | 7:50 Paris Charles de Gaulle Airport | 5h30 | 13:20 Milan Malpensa Airport | 1 change | |
BA315 · BA574 | 7:50 Paris Charles de Gaulle Airport | 7h10 | 15:00 Milan Linate Airport | 1 change | |
BA315 · BA572 | 7:50 Paris Charles de Gaulle Airport | 5h40 | 13:30 Milan Linate Airport | 1 change | |
KL2006+ KL1617 | 8:10 Paris Charles de Gaulle Airport | 7h45 | 15:55 Milan Linate Airport | 1 change | |
DE4292 · DE4357 | 8:25 Paris Charles de Gaulle Airport | 7h25 | 15:50 Milan Malpensa Airport | 1 change | |
DE4292 · DE4355 | 8:25 Paris Charles de Gaulle Airport | 26h35 | 11:00 Milan Malpensa Airport | 1 change | |
DE4292 · DE4359 | 8:25 Paris Charles de Gaulle Airport | 12h55 | 21:20 Milan Malpensa Airport | 1 change | |
SN3632 · SN3147 | 8:30 Paris Charles de Gaulle Airport | 3h50 | 12:20 Milan Linate Airport | 1 change | |
VY8001 · VY6340 | 8:55 Paris Orly Airport | 5h45 | 14:40 Milan Malpensa Airport | 1 change | |
KL1402 · KL1617 | 8:55 Paris Charles de Gaulle Airport | 7h00 | 15:55 Milan Linate Airport | 1 change | |
AF1330 | 8:55 Paris Charles de Gaulle Airport | 1h35 | 10:30 Milan Malpensa Airport | 0 changesdirect | |
FR 3433 | 9:00 Paris Beauvais Tille Airport | 1h30 | 10:30 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
U23822 | 9:00 Paris Orly Airport | 1h25 | 10:25 Milan Malpensa Airport | 0 changesdirect | |
VY8011 · VY6340 | 9:35 Paris Orly Airport | 5h05 | 14:40 Milan Malpensa Airport | 1 change | |
VY8011 · VY6332 | 9:35 Paris Orly Airport | 6h10 | 15:45 Milan Malpensa Airport | 1 change | |
LG8012 · LG6997 | 9:35 Paris Charles de Gaulle Airport | 11h05 | 20:40 Milan Malpensa Airport | 1 change | |
AF1412 | 9:45 Paris Charles de Gaulle Airport | 1h35 | 11:20 Milan Linate Airport | 0 changesdirect | |
IB570 · IB675 | 10:10 Paris Orly Airport | 8h05 | 18:15 Milan Malpensa Airport | 1 change | |
KL1406 · KL1617 | 10:15 Paris Charles de Gaulle Airport | 5h40 | 15:55 Milan Linate Airport | 1 change | |
VY8243 · VY6332 | 10:15 Paris Charles de Gaulle Airport | 5h30 | 15:45 Milan Malpensa Airport | 1 change | |
BA301 · BA576 | 10:35 Paris Charles de Gaulle Airport | 6h40 | 17:15 Milan Linate Airport | 1 change | |
U24939 | 11:10 Paris Orly Airport | 1h25 | 12:35 Milan Linate Airport | 0 changesdirect | |
DE4264 · DE4355 | 11:10 Paris Charles de Gaulle Airport | 23h50 | 11:00 Milan Malpensa Airport | 1 change | |
DE4264 · DE4359 | 11:10 Paris Charles de Gaulle Airport | 10h10 | 21:20 Milan Malpensa Airport | 1 change | |
DE4264 · DE4357 | 11:10 Paris Charles de Gaulle Airport | 4h40 | 15:50 Milan Malpensa Airport | 1 change | |
KL2008+ KL1617 | 11:45 Paris Charles de Gaulle Airport | 4h10 | 15:55 Milan Linate Airport | 1 change | |
KL2008+ KL1681 | 11:45 Paris Charles de Gaulle Airport | 9h35 | 21:20 Milan Linate Airport | 1 change | |
BA303 · BA586 | 11:55 Paris Charles de Gaulle Airport | 6h40 | 18:35 Milan Malpensa Airport | 1 change | |
BA303 · BA576 | 11:55 Paris Charles de Gaulle Airport | 5h20 | 17:15 Milan Linate Airport | 1 change | |
BA303 · BA578 | 11:55 Paris Charles de Gaulle Airport | 6h35 | 18:30 Milan Linate Airport | 1 change | |
FR 8883 | 11:55 Paris Beauvais Tille Airport | 1h35 | 13:30 Milan Malpensa Airport | 0 changesdirect | |
VY8013 · VY6334 | 12:10 Paris Orly Airport | 5h20 | 17:30 Milan Malpensa Airport | 1 change | |
VY8013 · VY6338 | 12:10 Paris Orly Airport | 6h15 | 18:25 Milan Malpensa Airport | 1 change | |
KL2012+ KL1681 | 12:15 Paris Charles de Gaulle Airport | 9h05 | 21:20 Milan Linate Airport | 1 change | |
KL2012+ KL1621 | 12:15 Paris Charles de Gaulle Airport | 10h35 | 22:50 Milan Linate Airport | 1 change | |
AF1012 | 12:20 Paris Charles de Gaulle Airport | 1h35 | 13:55 Milan Linate Airport | 0 changesdirect | |
VY8005 · VY6338 | 12:25 Paris Orly Airport | 6h00 | 18:25 Milan Malpensa Airport | 1 change | |
VY8005 · VY6334 | 12:25 Paris Orly Airport | 5h05 | 17:30 Milan Malpensa Airport | 1 change | |
VF12 · VF61 | 12:35 Paris Charles de Gaulle Airport | 23h10 | 11:45 Milan Bergamo Orio al Serio Airport | 1 change | |
IB586 · IB665 | 12:45 Paris Charles de Gaulle Airport | 6h50 | 19:35 Milan Linate Airport | 1 change | |
IB572 · IB665 | 12:45 Paris Orly Airport | 6h50 | 19:35 Milan Linate Airport | 1 change | |
IB586 · IB675 | 12:45 Paris Charles de Gaulle Airport | 5h30 | 18:15 Milan Malpensa Airport | 1 change | |
IB572 · IB675 | 12:45 Paris Orly Airport | 5h30 | 18:15 Milan Malpensa Airport | 1 change | |
LG8014 · LG6997 | 12:50 Paris Charles de Gaulle Airport | 7h50 | 20:40 Milan Malpensa Airport | 1 change | |
VY8251 · VY6338 | 13:35 Paris Charles de Gaulle Airport | 4h50 | 18:25 Milan Malpensa Airport | 1 change | |
IB574 · IB665 | 14:20 Paris Charles de Gaulle Airport | 5h15 | 19:35 Milan Linate Airport | 1 change | |
IB574 · IB667 | 14:20 Paris Charles de Gaulle Airport | 8h40 | 23:00 Milan Linate Airport | 1 change | |
KL1408 · KL1621 | 14:30 Paris Charles de Gaulle Airport | 8h20 | 22:50 Milan Linate Airport | 1 change | |
KL1408 · KL1681 | 14:30 Paris Charles de Gaulle Airport | 6h50 | 21:20 Milan Linate Airport | 1 change | |
BA305 · BA580 | 14:55 Paris Charles de Gaulle Airport | 6h40 | 21:35 Milan Linate Airport | 1 change | |
LX639+ LX1622 | 15:00 Paris Charles de Gaulle Airport | 3h35 | 18:35 Milan Malpensa Airport | 1 change | |
VY8009 · VY6336 | 15:30 Paris Orly Airport | 5h30 | 21:00 Milan Malpensa Airport | 1 change | |
TO3948 | 15:55 Paris Orly Airport | 1h40 | 17:35 Milan Malpensa Airport | 0 changesdirect | |
BA307 · BA580 | 16:00 Paris Charles de Gaulle Airport | 5h35 | 21:35 Milan Linate Airport | 1 change | |
BA307 · BA590 | 16:00 Paris Charles de Gaulle Airport | 7h35 | 23:35 Milan Malpensa Airport | 1 change | |
AF1730 | 16:05 Paris Charles de Gaulle Airport | 1h35 | 17:40 Milan Malpensa Airport | 0 changesdirect | |
KL2016+ KL1621 | 16:10 Paris Charles de Gaulle Airport | 6h40 | 22:50 Milan Linate Airport | 1 change | |
KL2016+ KL1681 | 16:10 Paris Charles de Gaulle Airport | 5h10 | 21:20 Milan Linate Airport | 1 change | |
DE4214 · DE4359 | 16:45 Paris Charles de Gaulle Airport | 4h35 | 21:20 Milan Malpensa Airport | 1 change | |
DE4214 · DE4355 | 16:45 Paris Charles de Gaulle Airport | 18h15 | 11:00 Milan Malpensa Airport | 1 change | |
AZ313 | 16:50 Paris Charles de Gaulle Airport | 1h30 | 18:20 Milan Linate Airport | 0 changesdirect | |
IB578 · IB667 | 17:20 Paris Orly Airport | 5h40 | 23:00 Milan Linate Airport | 1 change | |
U24563 | 17:25 Paris Charles de Gaulle Airport | 1h30 | 18:55 Milan Linate Airport | 0 changesdirect | |
VF10 · VF61 | 17:25 Paris Charles de Gaulle Airport | 18h20 | 11:45 Milan Bergamo Orio al Serio Airport | 1 change | |
KL2022+ KL1621 | 17:50 Paris Charles de Gaulle Airport | 5h00 | 22:50 Milan Linate Airport | 1 change | |
AF1312 | 18:20 Paris Charles de Gaulle Airport | 1h25 | 19:45 Milan Linate Airport | 0 changesdirect | |
BA309 · BA590 | 18:20 Paris Charles de Gaulle Airport | 5h15 | 23:35 Milan Malpensa Airport | 1 change | |
KL1410 · KL1621 | 18:40 Paris Charles de Gaulle Airport | 4h10 | 22:50 Milan Linate Airport | 1 change | |
U24943 | 18:55 Paris Orly Airport | 1h25 | 20:20 Milan Linate Airport | 0 changesdirect | |
FR 3500 | 19:30 Paris Beauvais Tille Airport | 1h30 | 21:00 Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
AF1732 | 21:00 Paris Charles de Gaulle Airport | 1h30 | 22:30 Milan Linate Airport | 0 changesdirect | |
AZ311 | 21:30 Paris Charles de Gaulle Airport | 1h30 | 23:00 Milan Linate Airport | 0 changesdirect | |
AF1130 | 21:30 Paris Charles de Gaulle Airport | 1h30 | 23:00 Milan Malpensa Airport | 0 changesdirect | |
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
Paris and Milan are just over 400 miles apart and are well served by a range of flight options. The fastest flights from Paris to Milan take just 90 minutes. Flights leave Paris several times per hour during the day and evening, as well as once at night. Depending on the chosen airline, flights depart from Paris Charles de Gaulle Airport (CDG), Paris Orly Airport (ORY) or Paris Beauvais Tillé Airport (BVA) and arrive at Milan Malpensa Airport (MXP), Milan Linate Airport (LIN) or Milan Bergamo Orio al Serio Airport (BGY).
Flights from Paris to Milan are available on a direct route through several airlines, including Aigle Azur, easyJet, Air France, Alitalia and Ryanair. Additionally, various other airlines offer a large number of indirect flights every day, usually with a change in their headquarters' country.
Flights from Paris to Milan take around one and half hours on the fastest direct route. Indirect flights will usually double the flying time, while adding in the layover time in the connecting airport increases the total travel time even further.
There are, on average, 15-25 direct flights from Paris to Milan every day. Another 50-60 indirect flights depart from all Paris airports every day, offering plenty of options for travelling this route.
Find answers to the most common questions about traveling from Paris 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 Paris to Milan flights use the Paris Charles de Gaulle Airport to Milan Malpensa Airport airport pair, with some services landing at Milan Linate Airport. Use this guide to compare Paris and Milan airports on this route, check city-centre transport, alongside checking practicalities like airport facilities and services.
Paris Charles de Gaulle Airport is 4 km from Paris city centre. Public transport options include:
Paris Charles de Gaulle 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; premium high-speed access is also offered. ATMs are located throughout the airport in all terminals.
Lost and found is available at the station.
Available at Paris Charles de Gaulle Airport: Parking, Taxis, WC.
Accessibility facilities are available at Paris Charles de Gaulle Airport: Elevators, ramps.
Paris Orly Airport is 1 km from Paris city centre. Public transport options include:
Paris Orly 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 all terminals.
Lost and found is available at the station.
Available at Paris Orly Airport: Parking, Taxis, WC.
Accessibility facilities are available at Paris Orly Airport: Elevators, ramps.
Paris Beauvais Tille Airport has practical services for this route, including Wifi, Shopping, Parking, ATM, Taxis, Accessibility, WC, 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 Paris Beauvais Tille Airport: Parking, Taxis, WC.
Accessibility facilities are available at Paris Beauvais Tille 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 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 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