There are 6 ways to get from Milan Malpensa Airport (MXP) to Madrid by plane, train (Trenitalia, Renfe, Ouigo), bus, car, or train (Trenitalia, TGV, Renfe)
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly
best- Fly from Milano Malpensa Airport (MXP) to Adolfo Suárez Madrid–Barajas Airport (MAD)plane MXP - MAD
2h 35m€24–152Train via Barcelona
- Take the train from Malpensa Aeroporto T1 to Milano Centraletrain
- Take the train from Milano Centrale to Lyon Part Dieutrain Fr
- Take the train from Lyon Part Dieu to Barcelona-Santstrain
- Take the train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandestrain Ave
15h 32m€194–395Bus
- Take the bus from Milan Malpensa Airport T1 to Milan Piazzale Lorenzo Lottobus flibco
- Take the bus from Milan to Madridbus FlixBus N1138
24h 59m€141–240Drive 1,453.6 km
- Drive from Milan Malpensa Airport (MXP) to Madridcar 1,453.6 km
16h 6m€228–329Train
- Take the train from Malpensa Aeroporto T1 to Milano Centraletrain
- Take the train from Milano Centrale to Ventimigliatrain Ic
- Take the train from Nice-Ville to Marseille-Saint-Charlestrain
- Take the train from Marseille St Charles to Madrid-Puerta de Atocha-Almudena Grandestrain
18h 35m€228–428Bus via Marseille
- Take the bus from Malpensa Airport - Milan to Torino - Autostazione Corso Bolzanobus 020
- Take the bus from Turin - Vittorio Emanuele Bus Station to Marseille - Saint-Charles Bus Stationbus
- Take the bus from Marseille - Saint-Charles Bus Station to Estación Sur de Autobusesbus
26h 20m€152–262
Milan Malpensa Airport (MXP) to Madrid by train
Questions & Answers
The cheapest way to get from Milan Malpensa Airport (MXP) to Madrid is to fly which costs €24 - €160 and takes 2h 35m.
The fastest way to get from Milan Malpensa Airport (MXP) to Madrid is to fly which takes 2h 35m and costs €24 - €160.
No, there is no direct bus from Milan Malpensa Airport (MXP) to Madrid. However, there are services departing from Milan Malpensa Airport T1 and arriving at Madrid via Milan. The journey, including transfers, takes approximately 24h 59m.
No, there is no direct train from Milan Malpensa Airport (MXP) to Madrid. However, there are services departing from Malpensa Aeroporto T1 and arriving at Madrid-Puerta de Atocha-Almudena Grandes via Milano Centrale, Lyon Part Dieu and Barcelona-Sants. The journey, including transfers, takes approximately 15h 32m.
The distance between Milan Malpensa Airport (MXP) and Madrid is 1159 km. The road distance is 1453.6 km.
The best way to get from Milan Malpensa Airport (MXP) to Madrid without a car is to train via Barcelona which takes 15h 32m and costs €190 - €400.
It takes approximately 2h 35m to get from Milan Malpensa Airport (MXP) to Madrid, including transfers.
Milan Malpensa Airport (MXP) to Madrid bus services, operated by Arriva Italia - Torino, depart from Malpensa Airport - Milan station.
Milan Malpensa Airport (MXP) to Madrid train services, operated by Trenord, depart from Malpensa Aeroporto T1 station.
The best way to get from Milan Malpensa Airport (MXP) to Madrid is to fly which takes 2h 35m and costs €24 - €160. Alternatively, you can train via Barcelona, which costs €190 - €400 and takes 15h 32m, you could also bus, which costs €140 - €240 and takes 24h 59m.
What companies run services between Milan Malpensa Airport (MXP), Italy and Madrid, Spain?
Ulendo Airlink, Ryanair, and three other airlines fly from Milano Malpensa Airport (MXP) to Adolfo Suárez Madrid–Barajas Airport (MAD) every 3 hours. Alternatively, you can take a train from Malpensa Aeroporto T1 to Madrid-Puerta de Atocha-Almudena Grandes via Milano Centrale, Lyon Part Dieu, and Barcelona-Sants in around 15h 32m.
- Website
- ryanair.com
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €23–160
- Website
- iberia.com
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €65–140
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport via Barcelona
- Ave. Duration
- 4h 7m
- When
- Every day
- Estimated price
- €35–170
- Website
- vueling.com
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 25m
- When
- Every day
- Estimated price
- €65–140
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport via Barcelona
- Ave. Duration
- 4h 7m
- When
- Every day
- Estimated price
- €35–170
- Website
- aireuropa.com
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 13m
- When
- Every day
- Estimated price
- €60–180
- Website
- flyulendo.com
Flights from Milano Malpensa Airport to Adolfo Suárez Madrid–Barajas Airport
- Ave. Duration
- 2h 30m
- When
- Every day
- Estimated price
- €22–120
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Centrale
- Ave. Duration
- 56 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Centrale
- Ave. Duration
- 56 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Milano Centrale to Lyon Part Dieu
- Ave. Duration
- 4h 39m
- Frequency
- 4 times a day
- Estimated price
- €55–90
- Website
- Trenitalia
Train from Milano Centrale to Ventimiglia
- Ave. Duration
- 4h 25m
- Frequency
- 6 times a week
- Estimated price
- €35–60
- Website
- Trenitalia
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Lyon Part Dieu to Barcelona-Sants
- Ave. Duration
- 4h 48m
- Frequency
- Twice daily
- Estimated price
- €80–130
- Website
- Renfe Viajeros
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- 4 times a day
- Estimated price
- €75–120
- Website
- Renfe Viajeros
Train from Marseille St Charles to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 7h 48m
- Frequency
- Twice daily
- Estimated price
- €140–230
- Website
- Renfe Viajeros
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 2m
- Frequency
- Every 30 minutes
- Estimated price
- €90–170
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- [email protected]
- Website
- Iryo
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 19m
- Frequency
- Hourly
- Estimated price
- €60–120
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Barcelona-Sants to Madrid-Puerta de Atocha-Almudena Grandes
- Ave. Duration
- 3h 17m
- Frequency
- Every 2 hours
- Estimated price
- €55–100
- Website
- Ouigo
- Phone
- +39 06 68475475
- Website
- Trenitalia Intercity
Train from Milano Centrale to Ventimiglia
- Ave. Duration
- 3h 54m
- Frequency
- Hourly
- Estimated price
- €30–65
- Website
- Trenitalia Intercity
- Phone
- +33 4 13 94 30 50
- Website
- Zou! Lignes Express Régionales
Train from Nice-Ville to Marseille-Saint-Charles
- Ave. Duration
- 2h 39m
- Frequency
- Hourly
- Estimated price
- €55–110
- Website
- Zou! Lignes Express Régionales
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Nice-Ville to Marseille-Saint-Charles
- Ave. Duration
- 2h 37m
- Frequency
- Hourly
- Estimated price
- €45–75
- Website
- TGV inOui
- [email protected]
- Website
- Flibco
Bus from Milan Malpensa Airport T1 to Milan Piazzale Lorenzo Lotto
- Ave. Duration
- 45 min
- Frequency
- Every 30 minutes
- Estimated price
- €9–19
- Website
- Flibco
- Phone
- +39 02 3008 9000
- [email protected]
- Website
- Autostradale
Bus from Milan Malpensa Airport T1 to Milan Piazzale Lorenzo Lotto
- Ave. Duration
- 50 min
- Frequency
- Hourly
- Estimated price
- €10–16
- Website
- Autostradale
- Phone
- +49 30 300 137 300
- [email protected]
- Website
- Flixbus
Bus from Milan to Madrid
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €130–220
- Website
- Flixbus
- Phone
- 035 289000
- Website
- Arriva Italia - Torino
Bus from Malpensa Airport - Milan to Torino - Autostazione Corso Bolzano
- Ave. Duration
- 2h
- Frequency
- Hourly
- Estimated price
- €22
- Website
- Arriva Italia - Torino
- 2nd Class
- €22
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Turin - Vittorio Emanuele Bus Station to Marseille - Saint-Charles Bus Station
- Ave. Duration
- 7h 35m
- Frequency
- Once daily
- Estimated price
- €30–60
- Website
- BlaBlaCar Bus
Bus from Marseille - Saint-Charles Bus Station to Estación Sur de Autobuses
- Ave. Duration
- 14h 30m
- Frequency
- Once daily
- Estimated price
- €100–180
- Website
- BlaBlaCar Bus
Want to know more about travelling around Spain
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Getting to Milan from the airport
Read the travel guide
Italy Travel Guides
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
More Questions & Answers
Milan Malpensa Airport (MXP) to Madrid bus services, operated by Arriva Italia - Torino, arrive at Torino - Autostazione Corso Bolzano station.
Milan Malpensa Airport (MXP) to Madrid train services, operated by Trenord, arrive at Milano Centrale station.
Yes, the driving distance between Milan Malpensa Airport (MXP) to Madrid is 1454 km. It takes approximately 16h 6m to drive from Milan Malpensa Airport (MXP) to Madrid.
Book your Milan Malpensa Airport (MXP) to Madrid train tickets online with Omio.
Book your Milan Malpensa Airport (MXP) to Madrid bus tickets online with Omio.
There are 7030+ hotels available in Madrid.





















































