Journey information
Overview: Milan to Madrid flight
Flights from Milan to Madrid depart on average 88 times per day, taking around 5h 43m. Cheap flight tickets for this journey start at £20 if you book in advance.
There are 11 flights per day. The earliest flight runs at 05:00, the last at 23:15. The fastest flight covers the 1188 km distance in 2h 10m. February is the cheapest month to fly.
Distance 1188 km |
Average flight duration 5h 43m |
Cheapest ticket price £20 |
Flights per day 88 |
Direct flights 11 |
Fastest flight 2h 10m |
First flight 5:00 |
Last flight 23:15 |
Cheapest Month Feb |
Cheapest Day Wed |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Thu |
Least Busy Day Sun |
Best time to book 28 days |
The cheapest and fastest flights from Milan to Madrid
Cheapest price
£78
Average price
£316
Fastest journey
2 h 10 m
Average duration
2 h 18 m
Flights per day
84
Distance
1188 km
The best way to find a cheap flight ticket from Milan to Madrid is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Milan to Madrid will cost around £316 if you buy it on the day, but you can find cheap flight tickets today for only £78.
Of the 84 flights that leave Milan for Madrid every day 17 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct flights cover the 1188 km distance in an average of 2 h 18 m but if you time it right, some flights will get you there in just 2 h 10 m .
The slowest flights will take 2 h 20 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.
IB67210:252h25Milan Malpensa Airport12:50Madrid Barajas Airport£781One-way0 changes
FR 51208:152h25Milan Bergamo Orio al Serio Airport10:40Madrid Barajas Airport£811One-way0 changes
FR 598422:502h25Milan Bergamo Orio al Serio Airport1:15Madrid Barajas Airport£811One-way0 changes
W463116:402h30Milan Malpensa Airport9:10Madrid Barajas Airport£831One-way0 changes
IB67414:552h25Milan Malpensa Airport17:20Madrid Barajas Airport£861One-way0 changes
UX106611:052h10Milan Malpensa Airport13:15Madrid Barajas Airport£1111One-way0 changes
UX106218:152h20Milan Malpensa Airport20:35Madrid Barajas Airport£1111One-way0 changes
FR 275215:352h20Milan Malpensa Airport17:55Madrid Barajas Airport£1061One-way0 changes
IB67014:452h20Milan Linate Airport17:05Madrid Barajas Airport£1101One-way0 changes
IB6687:502h20Milan Linate Airport10:10Madrid Barajas Airport£891One-way0 changes
Travel Information
Compare train, coach and flight for Milan to Madrid
Omio recommends booking the flight as it is the most popular option from Milan to Madrid among Omio's users. If you are prioritising price take the coach with prices starting from £54. For those with little time consider booking a flight which can get you there in 5h 43m. In case you are seeking to minimise your carbon footprint the coach is your best bet as it emits only 1.2 - 3.0kg. The ticket price range depends on the travel mode: a coach costs an average of £54, and a train costs an average of £189.
Distance: 1188 km
Compare flight with
Most popular Flight | Coach | Train |
|---|---|---|
£129 Average Price | £110 Average Price Cheapest | £189 Average Price |
8h 43m Average total duration Fastest 5h 43m Onboard + 3h 0m Additional time* | 21h 58m Average total duration 21h 28m Onboard + 30m Additional time* | 13h 19m Average total duration 12h 49m Onboard + 30m Additional time* |
3.6 - 7.1kg CO2 emissions | 1.2 - 3.0kg CO2 emissions Lowest | - CO2 emissions |
![]() 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
Milan to Madrid flight times
The table below shows live departures for Milan to Madrid flights for today, Saturday 9 May. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
LH1851+ LH1804 | 9:50 Milan Linate Airport | 7h50 | 17:40 Madrid Barajas Airport | 1 change | |
QR124 · QR149 | 9:55 Milan Malpensa Airport | 29h45 | 15:40 Madrid Barajas Airport | 1 change | |
QR124 · QR147 | 9:55 Milan Malpensa Airport | 22h30 | 8:25 Madrid Barajas Airport | 1 change | |
IB672 | 10:25 Milan Linate Airport | 2h25 | 12:50 Madrid Barajas Airport | 0 changesdirect | |
LH6905+ LH1114 | 10:40 Milan Linate Airport | 5h30 | 16:10 Madrid Barajas Airport | 1 change | |
LX1613 · LX2032 | 10:40 Milan Malpensa Airport | 8h00 | 18:40 Madrid Barajas Airport | 1 change | |
IB646 | 10:40 Milan Linate Airport | 2h20 | 13:00 Madrid Barajas Airport | 0 changesdirect | |
KL1614 · KL1505 | 11:00 Milan Linate Airport | 5h25 | 16:25 Madrid Barajas Airport | 1 change | |
KL1614 · KL1509 | 11:00 Milan Linate Airport | 12h25 | 23:25 Madrid Barajas Airport | 1 change | |
KL1614 · KL1507 | 11:00 Milan Linate Airport | 8h35 | 19:35 Madrid Barajas Airport | 1 change | |
UX1066 | 11:05 Milan Malpensa Airport | 2h10 | 13:15 Madrid Barajas Airport | 0 changesdirect | |
AZ2045 · AZ60 | 11:30 Milan Linate Airport | 5h40 | 17:10 Madrid Barajas Airport | 1 change | |
FR 2752 | 11:30 Milan Malpensa Airport | 2h20 | 13:50 Madrid Barajas Airport | 0 changesdirect | |
IB664 | 11:40 Milan Linate Airport | 2h20 | 14:00 Madrid Barajas Airport | 0 changesdirect | |
AF1413 · AF1400 | 12:20 Milan Linate Airport | 10h55 | 23:15 Madrid Barajas Airport | 1 change | |
AF1413+ AF1100 | 12:20 Milan Linate Airport | 6h55 | 19:15 Madrid Barajas Airport | 1 change | |
LH273 · LH1120 | 12:40 Milan Linate Airport | 7h10 | 19:50 Madrid Barajas Airport | 1 change | |
LH9449+ LH1804 | 12:55 Milan Malpensa Airport | 4h45 | 17:40 Madrid Barajas Airport | 1 change | |
KL1616 · KL1507 | 13:00 Milan Linate Airport | 6h35 | 19:35 Madrid Barajas Airport | 1 change | |
KL1616 · KL1509 | 13:00 Milan Linate Airport | 10h25 | 23:25 Madrid Barajas Airport | 1 change | |
BA585+ BA7057 | 13:20 Milan Malpensa Airport | 5h55 | 19:15 Madrid Barajas Airport | 1 change | |
BA573+ BA7059 | 14:10 Milan Linate Airport | 6h25 | 20:35 Madrid Barajas Airport | 1 change | |
IB670 | 14:45 Milan Linate Airport | 2h20 | 17:05 Madrid Barajas Airport | 0 changesdirect | |
AF1013 · AF1400 | 14:55 Milan Linate Airport | 8h20 | 23:15 Madrid Barajas Airport | 1 change | |
FR 5494 | 15:05 Milan Bergamo Orio al Serio Airport | 2h25 | 17:30 Madrid Barajas Airport | 0 changesdirect | |
AF1231 · AF1600 | 15:45 Milan Malpensa Airport | 23h50 | 15:35 Madrid Barajas Airport | 1 change | |
AF1231 · AF1300 | 15:45 Milan Malpensa Airport | 19h35 | 11:20 Madrid Barajas Airport | 1 change | |
AF1231 · AF1400 | 15:45 Milan Malpensa Airport | 7h30 | 23:15 Madrid Barajas Airport | 1 change | |
AF1231 · AF1800 | 15:45 Milan Malpensa Airport | 25h00 | 16:45 Madrid Barajas Airport | 1 change | |
AF1231+ AF1000 | 15:45 Milan Malpensa Airport | 17h25 | 9:10 Madrid Barajas Airport | 1 change | |
AF1231+ AF1100 | 15:45 Milan Malpensa Airport | 27h30 | 19:15 Madrid Barajas Airport | 1 change | |
QR128 · QR149 | 16:15 Milan Malpensa Airport | 23h25 | 15:40 Madrid Barajas Airport | 1 change | |
QR128 · QR147 | 16:15 Milan Malpensa Airport | 16h10 | 8:25 Madrid Barajas Airport | 1 change | |
KL1618+ KL1509 | 16:50 Milan Linate Airport | 6h35 | 23:25 Madrid Barajas Airport | 1 change | |
AZ2061 · AZ64 | 17:00 Milan Linate Airport | 7h10 | 0:10 Madrid Barajas Airport | 1 change | |
BA575+ BA7067 | 17:40 Milan Linate Airport | 5h45 | 23:25 Madrid Barajas Airport | 1 change | |
AF1613 · AF1400 | 18:00 Milan Linate Airport | 5h15 | 23:15 Madrid Barajas Airport | 1 change | |
LH277+ LH1122 | 18:10 Milan Linate Airport | 5h30 | 23:40 Madrid Barajas Airport | 1 change | |
UX1062 | 18:15 Milan Malpensa Airport | 2h20 | 20:35 Madrid Barajas Airport | 0 changesdirect | |
AZ2109 · AZ64 | 19:00 Milan Linate Airport | 5h10 | 0:10 Madrid Barajas Airport | 1 change | |
IB676 | 19:05 Milan Linate Airport | 2h25 | 21:30 Madrid Barajas Airport | 0 changesdirect | |
FR 7913 | 19:35 Milan Malpensa Airport | 2h20 | 21:55 Madrid Barajas Airport | 0 changesdirect | |
IB666 | 20:25 Milan Linate Airport | 2h20 | 22:45 Madrid Barajas Airport | 0 changesdirect | |
AF1313+ AF1000 | 20:45 Milan Linate Airport | 12h25 | 9:10 Madrid Barajas Airport | 1 change | |
| Sunday 10 May | |||||
LX1639 · LX2022 | 5:50 Milan Malpensa Airport | 5h55 | 11:45 Madrid Barajas Airport | 1 change | |
AF1733 · AF1600 | 6:25 Milan Linate Airport | 9h10 | 15:35 Madrid Barajas Airport | 1 change | |
AF1733 · AF1300 | 6:25 Milan Linate Airport | 4h55 | 11:20 Madrid Barajas Airport | 1 change | |
AF1733 · AF1800 | 6:25 Milan Linate Airport | 10h20 | 16:45 Madrid Barajas Airport | 1 change | |
AF1733+ AF1100 | 6:25 Milan Linate Airport | 12h50 | 19:15 Madrid Barajas Airport | 1 change | |
LH5639+ LH1112 | 6:30 Milan Malpensa Airport | 6h00 | 12:30 Madrid Barajas Airport | 1 change | |
KL1612 · KL1505 | 6:40 Milan Linate Airport | 9h45 | 16:25 Madrid Barajas Airport | 1 change | |
KL1612 · KL1503 | 6:40 Milan Linate Airport | 5h30 | 12:10 Madrid Barajas Airport | 1 change | |
KL1612 · KL1507 | 6:40 Milan Linate Airport | 12h55 | 19:35 Madrid Barajas Airport | 1 change | |
W46311 | 6:40 Milan Malpensa Airport | 2h30 | 9:10 Madrid Barajas Airport | 0 changesdirect | |
AF1131 · AF1400 | 6:45 Milan Malpensa Airport | 16h30 | 23:15 Madrid Barajas Airport | 1 change | |
AF1131 · AF1800 | 6:45 Milan Malpensa Airport | 10h00 | 16:45 Madrid Barajas Airport | 1 change | |
AF1131 · AF1600 | 6:45 Milan Malpensa Airport | 8h50 | 15:35 Madrid Barajas Airport | 1 change | |
AF1131 · AF1300 | 6:45 Milan Malpensa Airport | 4h35 | 11:20 Madrid Barajas Airport | 1 change | |
AF1131+ AF1100 | 6:45 Milan Malpensa Airport | 12h30 | 19:15 Madrid Barajas Airport | 1 change | |
LH281+ LH1112 | 6:50 Milan Linate Airport | 5h40 | 12:30 Madrid Barajas Airport | 1 change | |
BA591+ BA7053 | 7:05 Milan Malpensa Airport | 5h35 | 12:40 Madrid Barajas Airport | 1 change | |
FR 8249 | 7:20 Milan Malpensa Airport | 2h20 | 9:40 Madrid Barajas Airport | 0 changesdirect | |
BA581+ BA7055 | 7:25 Milan Linate Airport | 6h50 | 14:15 Madrid Barajas Airport | 1 change | |
IB668 | 7:50 Milan Linate Airport | 2h20 | 10:10 Madrid Barajas Airport | 0 changesdirect | |
FR 5120 | 8:15 Milan Bergamo Orio al Serio Airport | 2h25 | 10:40 Madrid Barajas Airport | 0 changesdirect | |
LH9513+ LH4162 | 8:35 Milan Malpensa Airport | 5h35 | 14:10 Madrid Barajas Airport | 1 change | |
AF1400+ AF1831 | 9:15 Milan Malpensa Airport | 14h00 | 23:15 Madrid Barajas Airport | 1 change | |
AF1800+ AF1831 | 9:15 Milan Malpensa Airport | 7h30 | 16:45 Madrid Barajas Airport | 1 change | |
AF1600+ AF1831 | 9:15 Milan Malpensa Airport | 6h20 | 15:35 Madrid Barajas Airport | 1 change | |
AF1100 · AF1831 | 9:15 Milan Malpensa Airport | 10h00 | 19:15 Madrid Barajas Airport | 1 change | |
AF1213 · AF1800 | 9:45 Milan Linate Airport | 7h00 | 16:45 Madrid Barajas Airport | 1 change | |
AF1213 · AF1600 | 9:45 Milan Linate Airport | 5h50 | 15:35 Madrid Barajas Airport | 1 change | |
AF1213+ AF1100 | 9:45 Milan Linate Airport | 9h30 | 19:15 Madrid Barajas 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 Milan to Madrid?
Compare prices and tickets Milan to Madrid 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.
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
25 May
26 May
27 May
28 May
29 May
Why should you book Milan to Madrid flights with Omio?
Why book with Omio vs Iberia?
- Compare with other providers: On Omio, you can not only buy tickets for Iberia, but also compare tickets for the likes of Ryanair, Malta Air, Air Europa or Vueling to find the best option for your trip from Milan to Madrid.
- 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 Iberia with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Milan to Madrid.
Why book with Omio over Kayak, Trip or Edreams?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Ryanair, Malta Air, Air Europa or Vueling to find the best option for your trip from Milan to Madrid.
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Milan to Madrid.
ReviewsReviews for the flight from Milan to Madrid

Airlines: Iberia, Ryanair, Malta Air, Air Europa, Vueling, Air France, ITA, Lufthansa, KLM, Brussels Airlines from Milan to MadridFind the best flights between Milan to Madrid with Omio's travel partners Iberia, Ryanair, Malta Air, Air Europa, Vueling, Air France, ITA, Lufthansa, KLM, Brussels Airlines from £20. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
Air France
ITA
Lufthansa
Iberia
Air Europa
Vueling
KLM
Brussels Airlines
Malta Air
Ryanair
FAQs: Milan to Madrid flights
Find answers to the most common questions about traveling from Milan to Madrid 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 Madrid, this guide helps you travel smarter and with confidence.

popular airports
Important Stations and Airports in Milan and Madrid
- 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 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 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
- Free Wi-Fi available throughout the airport.
- Shops in all terminals, including duty-free and fashion brands.
- Parking available at all terminals, approximately 2.5€ per hour.
- Available outside the terminal.
- Ramps, assistance.
- Available throughout the airport.
- Yes
- Lounges available in all terminals, including VIP lounges.
- Located in Terminal 1, 2, and 4.
- Metro: Line 8
- Bus: Lines 101, 200, Exprés-203
- Train: Cercanías C1, C10
More options for your journey from Milan to Madrid
Here are some other resources that might have the information you need














