Journey information
Overview: Madrid to Milan flight
Flights from Madrid to Milan depart on average 88 times per day, taking around 4h 37m. Cheap flight tickets for this journey start at 68S$ but you can travel from only 42S$ by coach.
There are 11 flights per day. The earliest flight runs at 00:10, the last at 23:50. The fastest flight covers the 1188 km distance in 2h 10m. July is the cheapest month to fly.
Distance 1188 km |
Average flight duration 4h 37m |
Cheapest ticket price 68S$ |
Flights per day 88 |
Direct flights 11 |
Fastest flight 2h 10m |
First flight 12:10 AM |
Last flight 11:50 PM |
Cheapest Month Jul |
Cheapest Day Sat |
High Season Jul - Sept |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Mon |
Best time to book 28 days |
The cheapest and fastest flights from Madrid to Milan
Cheapest price
97S$
Average price
498S$
Fastest journey
2 h 5 m
Average duration
2 h 7 m
Flights per day
64
Distance
1188 km
The best way to find a cheap flight ticket from Madrid to Milan is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Madrid to Milan will cost around 498S$ if you buy it on the day, but you can find cheap flight tickets today for only 97S$.
Of the 64 flights that leave Madrid for Milan every day 15 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 7 m but if you time it right, some flights will get you there in just 2 h 5 m .
The slowest flights will take 2 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.
FR 27536:10 PM2h10Madrid Barajas Airport8:20 PMMilan Malpensa Airport97 S$1One-way0 changes
W463129:55 AM2h15Madrid Barajas Airport12:10 PMMilan Malpensa Airport101 S$1One-way0 changes
FR 791212:50 PM2h10Madrid Barajas Airport3:00 PMMilan Malpensa Airport107 S$1One-way0 changes
FR 54933:25 PM2h15Madrid Barajas Airport5:40 PMMilan Bergamo Orio al Serio Airport114 S$1One-way0 changes
UX10613:10 PM2h05Madrid Barajas Airport5:15 PMMilan Malpensa Airport119 S$1One-way0 changes
UX10657:40 AM2h05Madrid Barajas Airport9:45 AMMilan Malpensa Airport149 S$1One-way0 changes
UX10613:10 PM2h05Madrid Barajas Airport5:15 PMMilan Malpensa Airport119 S$1One-way0 changes
UX106312:50 PM2h05Madrid Barajas Airport2:55 PMMilan Malpensa Airport149 S$1One-way0 changes
IB6655:25 PM2h10Madrid Barajas Airport7:35 PMMilan Linate Airport236 S$1One-way0 changes
IB6638:50 AM2h10Madrid Barajas Airport11:00 AMMilan Linate Airport236 S$1One-way0 changes
Travel Information
Compare train, coach and flight for Madrid to Milan
Omio recommends booking the flight as it is the most popular option from Madrid to Milan among Omio's users. If you are prioritising price take the coach with prices starting from 42S$. For those with little time consider booking a flight which can get you there in 4h 37m. 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 42S$, and a train costs an average of 152S$.
Distance: 1188 km
Compare flight with
Most popular Flight | Coach | Train |
|---|---|---|
180S$ Average Price | 95S$ Average Price Cheapest | 194S$ Average Price |
7h 37m Average total duration Fastest 4h 37m Onboard + 3h 0m Additional time* | 20h 34m Average total duration 20h 4m Onboard + 30m Additional time* | 15h 54m Average total duration 15h 24m 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
Madrid to Milan flight times
The table below shows live departures for Madrid to Milan flights for today, Monday, 29 June. You can also manually refresh the results below to see updated flight journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
UX1061 | 3:10 PM Madrid Barajas Airport | 2h05 | 5:15 PM Milan Malpensa Airport | 0 changesdirect | |
QR150 · QR123 | 3:45 PM Madrid Barajas Airport | 15h25 | 7:10 AM Milan Malpensa Airport | 1 change | |
QR150 · QR127 | 3:45 PM Madrid Barajas Airport | 22h30 | 2:15 PM Milan Malpensa Airport | 1 change | |
IB675 | 4:00 PM Madrid Barajas Airport | 2h15 | 6:15 PM Milan Malpensa Airport | 0 changesdirect | |
AF1601 · AF1330 | 4:40 PM Madrid Barajas Airport | 17h45 | 10:25 AM Milan Malpensa Airport | 1 change | |
AF1601 · AF1830 | 4:40 PM Madrid Barajas Airport | 15h35 | 8:15 AM Milan Malpensa Airport | 1 change | |
AF1601 · AF1130 | 4:40 PM Madrid Barajas Airport | 6h20 | 11:00 PM Milan Malpensa Airport | 1 change | |
AF1601 · AF1230 | 4:40 PM Madrid Barajas Airport | 22h05 | 2:45 PM Milan Malpensa Airport | 1 change | |
AF1601 · AF1412 | 4:40 PM Madrid Barajas Airport | 18h40 | 11:20 AM Milan Linate Airport | 1 change | |
AF1601 · AF1730 | 4:40 PM Madrid Barajas Airport | 24h55 | 5:35 PM Milan Malpensa Airport | 1 change | |
AF1601+ AF1212 | 4:40 PM Madrid Barajas Airport | 16h10 | 8:50 AM Milan Linate Airport | 1 change | |
LH1115+ LH280 | 5:00 PM Madrid Barajas Airport | 5h15 | 10:15 PM Milan Linate Airport | 1 change | |
LH1115+ LH5638 | 5:00 PM Madrid Barajas Airport | 6h10 | 11:10 PM Milan Malpensa Airport | 1 change | |
KL1506 · KL1621 | 5:20 PM Madrid Barajas Airport | 5h30 | 10:50 PM Milan Linate Airport | 1 change | |
KL1506 · KL1613 | 5:20 PM Madrid Barajas Airport | 16h45 | 10:05 AM Milan Linate Airport | 1 change | |
KL1506 · KL1615 | 5:20 PM Madrid Barajas Airport | 18h40 | 12:00 PM Milan Linate Airport | 1 change | |
IB665 | 5:25 PM Madrid Barajas Airport | 2h10 | 7:35 PM Milan Linate Airport | 0 changesdirect | |
FR 5493 | 5:40 PM Madrid Barajas Airport | 2h15 | 7:55 PM Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
AF1801 · AF1830 | 5:45 PM Madrid Barajas Airport | 14h30 | 8:15 AM Milan Malpensa Airport | 1 change | |
AF1801 · AF1230 | 5:45 PM Madrid Barajas Airport | 21h00 | 2:45 PM Milan Malpensa Airport | 1 change | |
AF1801 · AF1330 | 5:45 PM Madrid Barajas Airport | 16h40 | 10:25 AM Milan Malpensa Airport | 1 change | |
AF1801 · AF1130 | 5:45 PM Madrid Barajas Airport | 5h15 | 11:00 PM Milan Malpensa Airport | 1 change | |
AF1801 · AF1412 | 5:45 PM Madrid Barajas Airport | 17h35 | 11:20 AM Milan Linate Airport | 1 change | |
AF1801 · AF1012 | 5:45 PM Madrid Barajas Airport | 20h10 | 1:55 PM Milan Linate Airport | 1 change | |
AF1801 · AF1730 | 5:45 PM Madrid Barajas Airport | 23h50 | 5:35 PM Milan Malpensa Airport | 1 change | |
AF1801+ AF1212 | 5:45 PM Madrid Barajas Airport | 15h05 | 8:50 AM Milan Linate Airport | 1 change | |
LH1805+ LH7432 | 6:25 PM Madrid Barajas Airport | 4h45 | 11:10 PM Milan Malpensa Airport | 1 change | |
LH1805+ AZ7467 | 6:25 PM Madrid Barajas Airport | 4h45 | 11:10 PM Milan Malpensa Airport | 1 change | |
LH1805+ AZ7469 | 6:25 PM Madrid Barajas Airport | 13h40 | 8:05 AM Milan Malpensa Airport | 1 change | |
LX2033+ LX1638 | 7:30 PM Madrid Barajas Airport | 4h10 | 11:40 PM Milan Malpensa Airport | 1 change | |
AF1330+ AF1101 | 8:15 PM Madrid Barajas Airport | 14h10 | 10:25 AM Milan Malpensa Airport | 1 change | |
AF1230+ AF1101 | 8:15 PM Madrid Barajas Airport | 18h30 | 2:45 PM Milan Malpensa Airport | 1 change | |
AF1730+ AF1101 | 8:15 PM Madrid Barajas Airport | 21h20 | 5:35 PM Milan Malpensa Airport | 1 change | |
AF1830+ AF1101 | 8:15 PM Madrid Barajas Airport | 12h00 | 8:15 AM Milan Malpensa Airport | 1 change | |
AF1012+ AF1101 | 8:15 PM Madrid Barajas Airport | 17h40 | 1:55 PM Milan Linate Airport | 1 change | |
AF1412+ AF1101 | 8:15 PM Madrid Barajas Airport | 15h05 | 11:20 AM Milan Linate Airport | 1 change | |
AF1212 · AF1101 | 8:15 PM Madrid Barajas Airport | 12h35 | 8:50 AM Milan Linate Airport | 1 change | |
AF1130+ AF1101 | 8:15 PM Madrid Barajas Airport | 26h45 | 11:00 PM Milan Malpensa Airport | 1 change | |
FR 7912 | 8:20 PM Madrid Barajas Airport | 2h10 | 10:30 PM Milan Malpensa Airport | 0 changesdirect | |
KL1508 · KL1613 | 8:30 PM Madrid Barajas Airport | 13h35 | 10:05 AM Milan Linate Airport | 1 change | |
KL1508 · KL1615 | 8:30 PM Madrid Barajas Airport | 15h30 | 12:00 PM Milan Linate Airport | 1 change | |
KL1508 · KL1617 | 8:30 PM Madrid Barajas Airport | 19h25 | 3:55 PM Milan Linate Airport | 1 change | |
IB667 | 8:50 PM Madrid Barajas Airport | 2h10 | 11:00 PM Milan Linate Airport | 0 changesdirect | |
QR152 · QR123 | 10:45 PM Madrid Barajas Airport | 32h25 | 7:10 AM Milan Malpensa Airport | 1 change | |
QR152 · QR127 | 10:45 PM Madrid Barajas Airport | 15h30 | 2:15 PM Milan Malpensa Airport | 1 change | |
AZ59 · AZ2036 | 5:55 AM Madrid Barajas Airport | 5h45 | 11:40 AM Milan Linate Airport | 1 change | |
AF1401 · AF1230 | 6:00 AM Madrid Barajas Airport | 8h45 | 2:45 PM Milan Malpensa Airport | 1 change | |
KL1500 · KL1615 | 6:00 AM Madrid Barajas Airport | 6h00 | 12:00 PM Milan Linate Airport | 1 change | |
AF1401 · AF1330 | 6:00 AM Madrid Barajas Airport | 4h25 | 10:25 AM Milan Malpensa Airport | 1 change | |
AF1401 · AF1012 | 6:00 AM Madrid Barajas Airport | 7h55 | 1:55 PM Milan Linate Airport | 1 change | |
KL1500 · KL1617 | 6:00 AM Madrid Barajas Airport | 9h55 | 3:55 PM Milan Linate Airport | 1 change | |
AF1401 · AF1412 | 6:00 AM Madrid Barajas Airport | 5h20 | 11:20 AM Milan Linate Airport | 1 change | |
FR 5121 | 6:20 AM Madrid Barajas Airport | 2h15 | 8:35 AM Milan Bergamo Orio al Serio Airport | 0 changesdirect | |
SN3732 · SN3147 | 6:20 AM Madrid Barajas Airport | 6h00 | 12:20 PM Milan Linate Airport | 1 change | |
SN3732+ SN4133 | 6:20 AM Madrid Barajas Airport | 4h35 | 10:55 AM Milan Linate Airport | 1 change | |
LH4165+ LH9448 | 7:00 AM Madrid Barajas Airport | 5h15 | 12:15 PM Milan Malpensa Airport | 1 change | |
LH4165+ LH1852 | 7:00 AM Madrid Barajas Airport | 6h00 | 1:00 PM Milan Linate Airport | 1 change | |
IB671 | 7:30 AM Madrid Barajas Airport | 2h10 | 9:40 AM Milan Malpensa Airport | 0 changesdirect | |
UX1065 | 7:40 AM Madrid Barajas Airport | 2h05 | 9:45 AM Milan Malpensa Airport | 0 changesdirect | |
LH1123+ LH5636 | 8:25 AM Madrid Barajas Airport | 5h25 | 1:50 PM Milan Malpensa Airport | 1 change | |
LH1123 · LH274 | 8:25 AM Madrid Barajas Airport | 6h15 | 2:40 PM Milan Linate Airport | 1 change | |
IB663 | 8:50 AM Madrid Barajas Airport | 2h10 | 11:00 AM Milan Linate Airport | 0 changesdirect | |
QR148 · QR117 | 9:05 AM Madrid Barajas Airport | 35h55 | 9:00 PM Milan Malpensa Airport | 1 change | |
QR148 · QR123 | 9:05 AM Madrid Barajas Airport | 22h05 | 7:10 AM Milan Malpensa Airport | 1 change | |
QR148 · QR127 | 9:05 AM Madrid Barajas Airport | 29h10 | 2:15 PM Milan Malpensa Airport | 1 change | |
W46312 | 9:55 AM Madrid Barajas Airport | 2h15 | 12:10 PM Milan Malpensa Airport | 0 changesdirect | |
AF1001 · AF1230 | 10:05 AM Madrid Barajas Airport | 4h40 | 2:45 PM Milan Malpensa Airport | 1 change | |
AF1001 · AF1730 | 10:05 AM Madrid Barajas Airport | 7h30 | 5:35 PM Milan Malpensa Airport | 1 change | |
AF1001 · AF1312 | 10:05 AM Madrid Barajas Airport | 9h40 | 7:45 PM Milan Linate Airport | 1 change | |
KL1502 · KL1617 | 10:25 AM Madrid Barajas Airport | 5h30 | 3:55 PM Milan Linate Airport | 1 change | |
IB673 | 11:30 AM Madrid Barajas Airport | 2h10 | 1:40 PM Milan Malpensa Airport | 0 changesdirect | |
LH1801+ LH1854 | 11:50 AM Madrid Barajas Airport | 5h55 | 5:45 PM Milan Linate Airport | 1 change | |
LH1801 · LH1856 | 11:50 AM Madrid Barajas Airport | 4h50 | 4:40 PM Milan Malpensa Airport | 1 change | |
AF1301 · AF1732 | 12:20 PM Madrid Barajas Airport | 10h10 | 10:30 PM Milan Linate Airport | 1 change | |
AF1301 · AF1730 | 12:20 PM Madrid Barajas Airport | 5h15 | 5:35 PM Milan Malpensa Airport | 1 change | |
AF1301 · AF1312 | 12:20 PM Madrid Barajas Airport | 7h25 | 7:45 PM Milan Linate Airport | 1 change | |
LH1117+ LH276 | 12:30 PM Madrid Barajas Airport | 5h00 | 5:30 PM Milan Linate Airport | 1 change | |
LH1117 · LH254 | 12:30 PM Madrid Barajas Airport | 5h30 | 6:00 PM Milan Malpensa Airport | 1 change | |
EW9511 · EW9846 | 12:40 PM Madrid Barajas Airport | 7h15 | 7:55 PM Milan Linate Airport | 1 change | |
FR 7912 | 12:50 PM Madrid Barajas Airport | 2h10 | 3:00 PM Milan Malpensa Airport | 0 changesdirect | |
UX1063 | 12:50 PM Madrid Barajas Airport | 2h05 | 2:55 PM Milan Malpensa Airport | 0 changesdirect | |
KL1504 · KL1621 | 1:05 PM Madrid Barajas Airport | 9h45 | 10:50 PM Milan Linate Airport | 1 change | |
LH1113 · LH254 | 1:05 PM Madrid Barajas Airport | 4h55 | 6:00 PM Milan Malpensa Airport | 1 change | |
LH1113 · LH278 | 1:05 PM Madrid Barajas Airport | 5h20 | 6:25 PM Milan Linate Airport | 1 change | |
KL1504+ KL1681 | 1:05 PM Madrid Barajas Airport | 8h15 | 9:20 PM Milan Linate Airport | 1 change | |
BA7054+ BA580 | 2:55 PM Madrid Barajas Airport | 6h55 | 9:50 PM Milan Linate 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 Madrid to Milan?
Compare prices and tickets Madrid 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.
30 Jun
01 Jul
02 Jul
03 Jul
04 Jul
05 Jul
06 Jul
07 Jul
08 Jul
09 Jul
10 Jul
11 Jul
12 Jul
13 Jul
14 Jul
15 Jul
16 Jul
17 Jul
18 Jul
19 Jul
20 Jul
Why should you book Madrid to Milan flights with Omio?
Why book with Omio vs Ryanair?
- Compare with other providers: On Omio, you can not only buy tickets for Ryanair, but also compare tickets for the likes of Iberia, Malta Air, Air Europa or Vueling to find the best option for your trip from Madrid 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 Ryanair with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Madrid to Milan.
Why book with Omio over Edreams, Kayak or Trip?
- Compare with other providers: On Omio, you can also compare tickets for the likes of Iberia, Malta Air, Air Europa or Vueling to find the best option for your trip from Madrid 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 Madrid to Milan.
Airlines: Ryanair, Iberia, Malta Air, Air Europa, Vueling, ITA, Lufthansa, British Airways, Air France, GetJet Airlines from Madrid to MilanFind the best flights between Madrid to Milan with Omio's travel partners Ryanair, Iberia, Malta Air, Air Europa, Vueling, ITA, Lufthansa, British Airways, Air France, GetJet Airlines from 42S$. We can find you the best deals, schedules and tickets when comparing and booking the best trip.
ITA
Lufthansa
British Airways
Air France
Iberia
Air Europa
Vueling
Malta Air
Ryanair
GetJet Airlines
FAQs: Madrid to Milan flights
Find answers to the most common questions about traveling from Madrid 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 Madrid and Milan
- 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
- 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
More options for your journey from Madrid to Milan
Here are some other resources that might have the information you need
















