Travel Information
Compare train, bus, 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 bus with prices starting from €42. 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 bus is your best bet as it emits only 1.2 - 3.0kg. The ticket price range depends on the travel mode: a bus costs an average of €42, and a train costs an average of €152.
Distance: 1188 km
Compare flight with
Most popular Flight | Bus | Train |
|---|---|---|
€180 Average price | €95 Average price Cheapest | €194 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.
Travel optionsfrom Madrid to Milan
How to get from Madrid to Milan by train, bus or flight.
Our recommendation
The best way to travel from Madrid to Milan is by taking a bus because it’s the best combination of price and speed.
06261+
47326:09 AM24h46Madrid-Puerta de Atocha-Almudena Grandes6:55 AMMilano, Autostazione Lampugnano€1091One-way1 transfer
Cheapest
06261+
47326:09 AM24h46Madrid-Puerta de Atocha-Almudena Grandes6:55 AMMilano, Autostazione Lampugnano€1091One-way1 transfer
Fastest
UX10657:40 AM2h05Madrid Barajas Airport9:45 AMMilan Malpensa Airport€1491One-way0 transfers
Other options
06071+
47327:22 AM23h33Madrid-Puerta de Atocha-Almudena Grandes6:55 AMMilano, Autostazione Lampugnano€1161One-way1 transfer
3160 · 9476310:30 PM31h40Madrid, Estación Sur de Autobuses6:10 AMMilano, Autostazione Lampugnano€1241One-way1 transfer
4822 · 47326:30 AM24h25Madrid, Estación Sur de Autobuses6:55 AMMilano, Autostazione Lampugnano€1351One-way1 transfer
W463144:50 PM2h15Madrid Barajas Airport7:05 PMMilan Malpensa Airport€1371One-way0 transfers
FR 54935:40 PM2h15Madrid Barajas Airport7:55 PMMilan Bergamo Orio al Serio Airport€1381One-way0 transfers
IB6717:30 AM2h10Madrid Barajas Airport9:40 AMMilan Malpensa Airport€1481One-way0 transfers
Find all the dates and times for this journey by train, bus, flight, and ferry .
Compare prices and tickets Prices for trains, buses and flights
Compare train, bus, 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.
May 24
May 25
May 26
May 27
May 28
May 29
May 30
May 31
Jun 01
Jun 02
Jun 03
Jun 04
Jun 05
Jun 06
Jun 07
Jun 08
Jun 09
Jun 10
Jun 11
Jun 12
Jun 13
More than 1,000 travel companies trust us to sell their tickets all in one place.
FAQs: Travel from Madrid to Milan
Travel to Milan easily. Whether you want fast, cheap or something entirely different, our travel experts have collected everything you need to know so you can find the best option from Madrid to Milan.

This is compared to other travel options from Madrid to Milan:
A bus is €85 less than a flight for this route with tickets for a flight from Madrid to Milan costing on average €180.
A bus is €99 less than a train for this route with tickets for a train from Madrid to Milan costing on average €194.
Other travel options to Milan take longer:
Train takes on average 15h 24m.
Bus takes on average 20h 4m.
- Around 88 flights per day.
- Around 11 buses per day.
- Around 2 trains per day.
However, we recommend checking specific travel dates for your route between Madrid and Milan as scheduled services by train, bus, and flight can vary by season or day of the week.
- Flights mostly depart from Madrid Barajas Airport and arrive in Milan Malpensa Airport.
- Buses mostly depart from Madrid, Estación Sur de Autobuses and arrive in Milano, Autostazione Lampugnano.
- Travel with Ryanair, Iberia, Malta Air, Air Europa, Vueling, ITA, Lufthansa, British Airways, Air France, GetJet Airlines, KLM, Brussels Airlines, Helvetic Airways, TAP Portugal, Swiss, KLM Cityhopper, Air Serbia to go to Milan by flight.
- Travel with AVE, Renfe Viajeros to go to Milan by train.
- Travel with BlaBlaCar Bus, Union Ivkoni International, FlixBus, Alsa, Union Ivkoni, Infobus to go to Milan by bus.
- 11 direct flights per day with Ryanair, Iberia, Malta Air, Air Europa.
- 1 direct buses per day with Union Ivkoni International, FlixBus, Alsa, Union Ivkoni, Infobus.
Travelling from Madrid to Milan: related information
Here are some other resources that might have the information you need

