-FAST FLIGHT SEARCH
MY FLIGHTS: 0
flig.ht logo

"Fast and easy flight information right at your fingertips"

Are you picky about your flights? flig.ht/s lets you search for your flight with ease using our fast search engine, advanced search filter options and detailed flight information, without fuss. Just type in your prefered origin and destination in the search boxes and we will begin by showing you every option to get there together with flight time, non-stop flights, layover airports and airline options.

All scheduled flights from Madrid to Milan (MAD-MXP)

ES Spain
Italy IT
All scheduled flights from MAD to MXP. You can fly from Madrid to Milan non-stop on every weekday and the flight takes about 2 hours and 12 minutes. Flights with stops take between 3 to 6 hours depending on your flight and connection airport.
MAD-MXP
45 flights to Milan on Mon 03 Mar. 8 Direct flights and 37 flights with 1 stop.

Sort by: Standard

Filter
Direct flights 😃
Direct 2h 10m
  • Direct2h10mMAD07:10MXP09:20
Direct 2h 10m
  • 07:10 MadridAeropuerto Adolfo Suárez Madrid-Barajas MAD
  • 2h10m
  • 09:20 MilanAeroporto di Milano-Malpensa MXP
Total flight time:2h 10m
Direct 2h 10m
  • Direct2h10mMAD07:40MXP09:50
Low-cost airline
Direct 2h 10m
Direct 2h 10m
  • Direct2h10mMAD15:10MXP17:20
Direct 2h 10m
Direct 2h 15m
  • Direct2h15mMAD07:30MXP09:45
Direct 2h 15m
Direct 2h 15m
  • Direct2h15mMAD10:30MXP12:45
Direct 2h 15m
Direct 2h 15m
  • Direct2h15mMAD11:50MXP14:05
Direct 2h 15m
Direct 2h 15m
  • Direct2h15mMAD16:10MXP18:25
Direct 2h 15m
Direct 2h 15m
  • Direct2h15mMAD22:10MXP00:25
Direct 2h 15m
Flights with stop
1 stop 3h 40m
  • 1h15m
    MAD09:30
  • Via BarcelonaBCN0h45mESBCN
  • 1h40mMXP13:10
Codeshare flight
1 stop 3h 40m
  • 09:30 MadridAeropuerto Adolfo Suárez Madrid-Barajas MAD, Terminal 4
  • 1 hours 15 minutes
    CODESHARE FLIGHT
  • 10:45 Barcelona Aeropuerto Josep Tarradellas Barcelona-El Prat BCN, Terminal 1
  • Layover time at 0h45m
  • 11:30 BarcelonaAeropuerto Josep Tarradellas Barcelona-El Prat BCN, Terminal 1
  • 1 hours 40 minutes
    CODESHARE FLIGHT
  • 13:10 Milan Aeroporto di Milano-Malpensa MXP, Terminal 1
Total flight time:3h 40m
1 stop 3h 40m
  • 1h15m
    MAD09:30
  • Via BarcelonaBCN0h45mESBCN
  • 1h40mMXP13:10
Low-cost airline
1 stop 3h 40m
1 stop 3h 50m
  • 2h15m
    MAD10:05
  • Via ZurichZRH0h40mCHZRH
  • 0h55mMXP13:55
1 stop 3h 50m
1 stop 4h 30m
  • 2h35m
    MAD12:05
  • Via MunichMUC0h50mDEMUC
  • 1h05mMXP16:35
1 stop 4h 30m
1 stop 4h 35m
  • 2h20m
    MAD06:00
  • Via ParisCDG0h45mFRCDG
  • 1h30mMXP10:35
1 stop 4h 35m
1 stop 4h 35m
  • 2h20m
    MAD06:00
  • Via ParisCDG0h45mFRCDG
  • 1h30mMXP10:35
Codeshare flight
1 stop 4h 35m
1 stop 4h 40m
  • 2h35m
    MAD06:10
  • Via FrankfurtFRA0h50mDEFRA
  • 1h15mMXP10:50
Codeshare flight
1 stop 4h 40m
1 stop 4h 40m
  • 2h35m
    MAD06:10
  • Via FrankfurtFRA0h50mDEFRA
  • 1h15mMXP10:50
1 stop 4h 40m
1 stop 4h 45m
  • 1h15m
    MAD09:30
  • Via BarcelonaBCN1h50mESBCN
  • 1h40mMXP14:15
Codeshare flight
1 stop 4h 45m
1 stop 4h 45m
  • 1h15m
    MAD09:30
  • Via BarcelonaBCN1h50mESBCN
  • 1h40mMXP14:15
Low-cost airline
1 stop 4h 45m
1 stop 4h 55m
  • 2h35m
    MAD18:25
  • Via MunichMUC1h15mDEMUC
  • 1h05mMXP23:20
Codeshare flight
1 stop 4h 55m
1 stop 5h 05m
  • 2h10m
    MAD17:55
  • Via ParisCDG1h25mFRCDG
  • 1h30mMXP23:00
1 stop 5h 05m
1 stop 5h 10m
  • 2h35m
    MAD07:25
  • Via MunichMUC1h30mDEMUC
  • 1h05mMXP12:35
Codeshare flight
1 stop 5h 10m
1 stop 5h 10m
  • 2h10m
    MAD10:00
  • Via ParisCDG1h30mFRCDG
  • 1h30mMXP15:10
1 stop 5h 10m
1 stop 5h 15m
  • 2h10m
    MAD12:25
  • Via ParisCDG1h40mFRCDG
  • 1h25mMXP17:40
1 stop 5h 15m
1 stop 5h 20m
  • 2h35m
    MAD16:55
  • Via FrankfurtFRA1h30mDEFRA
  • 1h15mMXP22:15
Codeshare flight
1 stop 5h 20m
1 stop 5h 30m
  • 2h35m
    MAD08:25
  • Via FrankfurtFRA1h40mDEFRA
  • 1h15mMXP13:55
Codeshare flight
1 stop 5h 30m
1 stop 5h 40m
  • 2h20m
    MAD06:00
  • Via ParisCDG1h50mFRCDG
  • 1h30mMXP11:40
1 stop 5h 40m
1 stop 5h 40m
  • 2h20m
    MAD06:00
  • Via ParisCDG1h50mFRCDG
  • 1h30mMXP11:40
Codeshare flight
1 stop 5h 40m
1 stop 6h 40m
  • 2h10m
    MAD16:20
  • Via ParisCDG3h00mFRCDG
  • 1h30mMXP23:00
1 stop 6h 40m
Multiple airlines
1 stop 4h 35m
  • 2h20m
    MAD06:00
  • Via ParisCDG0h45mFRCDG
  • 1h30mMXP10:35
Low-cost airline
Codeshare flight
1 stop 4h 35m
  • 06:00 MadridAeropuerto Adolfo Suárez Madrid-Barajas MAD, Terminal 2
  • 2 hours 20 minutes
    CODESHARE FLIGHT
  • 08:20 Paris Aéroport de Paris-Charles-de-Gaulle CDG, Terminal 2F
  • Layover time at 0h45m
  • 09:05 ParisAéroport de Paris-Charles-de-Gaulle CDG, Terminal 2F
  • 1 hours 30 minutes
  • 10:35 Milan Aeroporto di Milano-Malpensa MXP, Terminal 1
Total flight time:4h 35m
1 stop 4h 35m
  • 2h25m
    MAD16:35
  • Via BrusselsBRU0h45mBEBRU
  • 1h25mMXP21:10
1 stop 4h 35m
1 stop 4h 55m
  • 2h35m
    MAD18:25
  • Via MunichMUC1h15mDEMUC
  • 1h05mMXP23:20
1 stop 4h 55m
1 stop 5h 10m
  • 2h35m
    MAD07:25
  • Via MunichMUC1h30mDEMUC
  • 1h05mMXP12:35
1 stop 5h 10m
1 stop 5h 10m
  • 2h25m
    MAD08:45
  • Via ZurichZRH1h50mCHZRH
  • 0h55mMXP13:55
1 stop 5h 10m
1 stop 5h 10m
  • 2h10m
    MAD10:00
  • Via ParisCDG1h30mFRCDG
  • 1h30mMXP15:10
Low-cost airline
Codeshare flight
1 stop 5h 10m
1 stop 5h 15m
  • 2h45m
    MAD08:40
  • Via FrankfurtFRA1h15mDEFRA
  • 1h15mMXP13:55
Change from terminal 2 to terminal 1
Codeshare flight
1 stop 5h 15m
1 stop 5h 15m
  • 2h25m
    MAD16:30
  • Via ZurichZRH1h55mCHZRH
  • 0h55mMXP21:45
1 stop 5h 15m
1 stop 5h 20m
  • 2h35m
    MAD16:55
  • Via FrankfurtFRA1h30mDEFRA
  • 1h15mMXP22:15
1 stop 5h 20m
1 stop 5h 30m
  • 2h40m
    MAD07:05
  • Via MunichMUC1h45mDEMUC
  • 1h05mMXP12:35
Change from terminal 1 to terminal 2
Codeshare flight
1 stop 5h 30m
1 stop 5h 30m
  • 2h35m
    MAD08:25
  • Via FrankfurtFRA1h40mDEFRA
  • 1h15mMXP13:55
1 stop 5h 30m
1 stop 5h 40m
  • 2h20m
    MAD06:00
  • Via ParisCDG1h50mFRCDG
  • 1h30mMXP11:40
Low-cost airline
Codeshare flight
1 stop 5h 40m
1 stop 5h 55m
  • 2h30m
    MAD15:15
  • Via BrusselsBRU2h00mBEBRU
  • 1h25mMXP21:10
1 stop 5h 55m
1 stop 5h 55m
  • 2h50m
    MAD16:20
  • Via FrankfurtFRA1h50mDEFRA
  • 1h15mMXP22:15
Change from terminal 2 to terminal 1
Codeshare flight
1 stop 5h 55m
1 stop 6h 10m
  • 2h20m
    MAD07:45
  • Via ZurichZRH2h55mCHZRH
  • 0h55mMXP13:55
1 stop 6h 10m
1 stop 6h 30m
  • 2h20m
    MAD14:55
  • Via ZurichZRH3h00mCHZRH
  • 1h10mMXP21:25
1 stop 6h 30m
1 stop 6h 50m
  • 2h40m
    MAD07:05
  • Via FrankfurtFRA2h55mDEFRA
  • 1h15mMXP13:55
Change from terminal 2 to terminal 1
Codeshare flight
1 stop 6h 50m
- Flight has a long layover time at the stop-airport and will affect your flight time.
- Change of terminals at the layover airport. This can go quickly or take time depending on the airport.
- Flight is partially or completely overnight (Red-eye flight).
- Airline or one of the airlines in the flight path is a low-cost carrier. Some travelers wants to avoid low-cost airlines.
- This is codeshare flight. A codeshare flight is an agreement between airlines to sell seats on each others flights. Click on the flight to see the actual flight operator.

Flying non-stop between MAD and MXP with Iberia or Wizz Air Malta is the fastest flight option. The flight takes about 2 hours and 15 minutes.

Yes. You can also arrive at Orio al Serio International Airport, BGY if you fly from Madrid (MAD).

MXP is the IATA airport code for Milan Malpensa Airport, Milan Airport.

MXP has 178 flight routes and 283 arriving and departing passenger flights every day.

The transfer from MXP is 56 minutes by car to Milan and 38 minutes with car to Milano Cadorna.

Airlines that offer direct flights from Madrid (MAD) to Milan (MXP) is Iberia and Wizz Air Malta.

The Airbus A321 with Iberia has 220 seats and the A321neo with Wizz Air Malta has 200 seats.

It all depends on what dates you plan on flying. But the approximate round-trip price for one passenger with Ryanair is $69 and with Iberia $101.