The cheapest and fastest buses from Milan to Madrid
Cheapest price
€124
Average price
€216
Fastest journey
19 h 52 m
Average duration
21 h 18 m
Buses per day
23
Distance
1188 km
The best way to find a cheap bus ticket from Milan to Madrid is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Milan to Madrid will cost around €216 if you buy it on the day, but the cheapest tickets can be found for only €124.
Of the 23 buses that leave Milan for Madrid on Fri, Apr 03, 2 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Fri, Apr 03 the direct buses cover the 1188 km distance in an average of 21 h 18 m but if you time it right, some buses will get you there in just 19 h 52 m .
On Fri, Apr 03 the slowest buses will take 22 h 22 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.
6:00 AM31h00Milan, Lampugnano (M1)1:00 PMMadrid Mendez Alvaro Estacion Sur€1241One-way0 transfers
FlixBus · FlixBus · FlixBus · FlixBus9:00 PM35h00Milano, Milan Linate Airport8:00 AMMadrid, Estación Sur de Autobuses€1561One-way3 transfers
4731+
0615010:00 PM19h52Milano, Autostazione Lampugnano5:52 PMMadrid-Puerta de Atocha-Almudena Grandes€1711One-way1 transfer
4704 · 341531:05 PM25h00Milano, Autostazione Lampugnano2:05 PMMadrid, Estación Sur de Autobuses€1771One-way1 transfer
4733 · 31867:10 AM26h45Milano, Autostazione Lampugnano9:55 AMMadrid, Estación Sur de Autobuses€1881One-way1 transfer
4731+
0615010:00 PM19h52Milano, Autostazione Lampugnano5:52 PMMadrid-Puerta de Atocha-Almudena Grandes€1711One-way1 transfer
4704 · 34153+
060701:05 PM21h02Milano, Autostazione Lampugnano10:07 AMMadrid-Puerta de Atocha-Almudena Grandes€2111One-way2 transfers
4731+
0616010:00 PM21h12Milano, Autostazione Lampugnano7:12 PMMadrid-Puerta de Atocha-Almudena Grandes€1891One-way1 transfer
4704 · 34153+
060801:05 PM22h02Milano, Autostazione Lampugnano11:07 AMMadrid-Puerta de Atocha-Almudena Grandes€2111One-way2 transfers
4731+
0618010:00 PM22h22Milano, Autostazione Lampugnano8:22 PMMadrid-Puerta de Atocha-Almudena Grandes€1941One-way1 transfer
Travel Information
Compare train, bus, 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 bus with prices starting from €59. 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 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 €59, and a train costs an average of €208.
Distance: 1188 km
Compare bus with
| Bus | Most popular Flight | Train |
|---|---|---|
€122 Average price Cheapest | €142 Average price | €208 Average price |
21h 58m Average total duration 21h 28m Onboard + 30m Additional time* | 8h 43m Average total duration Fastest 5h 43m Onboard + 3h 0m Additional time* | 13h 19m Average total duration 12h 49m Onboard + 30m Additional time* |
1.2 - 3.0kg CO2 emissions Lowest | 3.6 - 7.1kg CO2 emissions | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular airline | ![]() 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 bus times
The table below shows live departures for Milan to Madrid buses for today, Thursday, April 2. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus · FlixBus · FlixBus | 7:00 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 29h55 | 12:55 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 2 transfers | |
FlixBus · FlixBus · FlixBus | 7:00 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 30h25 | 1:25 PM Madrid, Estación Sur de Autobuses | 2 transfers | |
FlixBus · FlixBus · FlixBus | 7:35 AM Milano, Autostazione Lampugnano | 29h20 | 12:55 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 2 transfers | |
FlixBus | 9:25 AM Milano, Autostazione Lampugnano | 23h05 | 8:30 AM Madrid, Estación Sur de Autobuses | 0 transfersDirect | |
1726 · 3155+ 06014 | 9:35 AM Milano, Autostazione Lampugnano | 29h02 | 2:37 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
1726 · 3155+ 06320 | 9:35 AM Milano, Autostazione Lampugnano | 27h41 | 1:16 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
1726 · 3155+ 06130 | 9:35 AM Milano, Autostazione Lampugnano | 28h48 | 2:23 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
4704 · 3183+ 06320 | 11:05 AM Milano, Autostazione Lampugnano | 26h11 | 1:16 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
4704 · 4349 | 11:05 AM Milano, Autostazione Lampugnano | 27h40 | 2:45 PM Madrid, Estación Sur de Autobuses | 1 transfer | |
4704 · 3183+ 06014 | 11:05 AM Milano, Autostazione Lampugnano | 27h32 | 2:37 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
4704 · 3183+ 06130 | 11:05 AM Milano, Autostazione Lampugnano | 27h18 | 2:23 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
51065 · 83133+ 06190 | 3:00 PM Milano, Autostazione Lampugnano | 29h10 | 8:10 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
51065 · 83133+ 06200 | 3:00 PM Milano, Autostazione Lampugnano | 29h42 | 8:42 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
51065 · 83133+ 06150 | 3:00 PM Milano, Autostazione Lampugnano | 24h52 | 3:52 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
FlixBus · FlixBus · FlixBus · FlixBus | 7:00 PM Milano, Milan Linate Airport | 35h00 | 6:00 AM Madrid, Estación Sur de Autobuses | 3 transfers | |
FlixBus · FlixBus · FlixBus · FlixBus | 7:15 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 34h55 | 6:10 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 3 transfers | |
FlixBus · FlixBus · FlixBus | 7:20 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 41h35 | 12:55 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 2 transfers | |
4731+ 06200 | 8:00 PM Milano, Autostazione Lampugnano | 24h42 | 8:42 PM Madrid-Puerta de Atocha-Almudena Grandes | 1 transfer | |
4731+ 06150 | 8:00 PM Milano, Autostazione Lampugnano | 19h52 | 3:52 PM Madrid-Puerta de Atocha-Almudena Grandes | 1 transfer | |
4731+ 06190 | 8:00 PM Milano, Autostazione Lampugnano | 24h10 | 8:10 PM Madrid-Puerta de Atocha-Almudena Grandes | 1 transfer | |
FlixBus · FlixBus | 9:00 PM Milano, Autostazione Lampugnano | 32h55 | 5:55 AM Madrid, Estación Sur de Autobuses | 1 transfer | |
4768 · 93129+ 06210 | 9:35 PM Milano, Autostazione Lampugnano | 24h17 | 9:52 PM Madrid-Puerta de Atocha-Almudena Grandes | 2 transfers | |
FlixBus · FlixBus · FlixBus | 9:45 PM Milano, Autostazione Lampugnano | 31h40 | 5:25 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 2 transfers | |
FlixBus · FlixBus · FlixBus | 9:45 PM Milano, Autostazione Lampugnano | 32h55 | 6:40 AM Madrid, Estación Sur de Autobuses | 2 transfers | |
57104 · 3161 | 9:55 PM Milano, Autostazione Lampugnano | 33h50 | 7:45 AM Madrid, Estación Sur de Autobuses | 1 transfer | |
FlixBus · FlixBus · FlixBus | 11:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 33h20 | 8:30 AM Madrid, Estación Sur de Autobuses | 2 transfers | |
| Friday, April 3 | |||||
FlixBus · FlixBus · FlixBus | 3:45 AM Milano, Autostazione Lampugnano | 26h25 | 6:10 AM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 2 transfers | |
![]() | 4:00 AM Milan, Lampugnano (M1) | 31h00 | 11:00 AM Madrid Mendez Alvaro Estacion Sur | 0 transfersDirect | |
4733 · 3186 | 5:10 AM Milano, Autostazione Lampugnano | 26h45 | 7:55 AM Madrid, Estación Sur de Autobuses | 1 transfer | |
FlixBus · FlixBus | 5:30 AM Milano, Autostazione Lampugnano | 25h10 | 6:40 AM Madrid, Estación Sur de Autobuses | 1 transfer | |
Find all the dates and times for this journey
Compare prices and tickets Milan to Madrid by train, bus, or flight
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.
Apr 02
Apr 03
Apr 04
Apr 05
Apr 06
Apr 07
Apr 08
Apr 09
Apr 10
Apr 11
Apr 12
Apr 13
Apr 14
Apr 15
Apr 16
Apr 17
Apr 18
Apr 19
Apr 20
Apr 21
Apr 22
Why should you book Milan to Madrid buses with Omio?
Why book with Omio vs Union Ivkoni International?
- Compare with other providers: On Omio, you can not only buy tickets for Union Ivkoni International, but also compare tickets for the likes of FlixBus, Alsa, BlaBlaCar Bus or Infobus 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 Union Ivkoni International 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 Checkmybus, Wanderu or Trainline?
- Compare with other providers: On Omio, you can also compare tickets for the likes of FlixBus, Alsa, BlaBlaCar Bus or Infobus 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.
Journey information
Overview: Bus from Milan to Madrid
Buses from Milan to Madrid run on average 9 times per day, taking around 21h 28m. Cheap bus tickets for this journey start at €59 but you can travel from only €22 by flight.
There are 1 buses per day. The earliest bus runs at 00:14, the last at 23:55. The fastest bus covers the 1188 km distance in 23h 5m.
Distance 1188 km |
Average bus duration 21h 28m |
Cheapest ticket price €59 |
Buses per day 9 |
Direct buses 1 |
Fastest bus 23h 5m |
First bus 12:14 AM |
Last bus 11:55 PM |
Bus providers: Union Ivkoni International, FlixBus, Alsa, BlaBlaCar Bus, Infobus, Union Ivkoni - Unibus from Milan to MadridYou can travel by bus between Milan to Madrid with Union Ivkoni International, FlixBus, Alsa, BlaBlaCar Bus, Infobus, Union Ivkoni - Unibus for as low as €22. When you search for schedules and tickets, Omio will show you the best journey
FlixBus
Alsa
Infobus
Union Ivkoni International
BlaBlaCar Bus
Union Ivkoni - Unibus
FAQs: Bus from Milan to Madrid
Find answers to the most common questions about traveling from Milan to Madrid by bus. 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 bus, the cheapest option, or tips for making the most of your visit at Madrid, this guide helps you travel smarter and with confidence.

- Alsa
- Assistance
- Priority boarding
- Accessible seating.
- FlixBus
- Assistance
- Priority boarding
- Wheelchair-accessible buses.
- Union Ivkoni International
- Assistance
- Priority seating
- Service animals allowed.
- Alsa
- You can cancel your ticket up to 48 hours before departure for a partial refund. Changes allowed for a fee.
- FlixBus
- You can cancel your ticket up to 15 minutes before departure and receive a voucher for future travel. Refund requests for delays over 120 minutes are possible.
- Union Ivkoni International
- You can cancel your ticket up to 30 minutes before departure for a full refund in the form of a travel credit.
- Alsa
- One carry-on bag up to 10kg and one checked bag up to 25kg.
- FlixBus
- One carry-on bag up to 7kg (42x30x18 cm) and one checked bag up to 20kg (80x50x30 cm).
- Union Ivkoni International
- One carry-on bag up to 25 lbs and one checked bag up to 50 lbs.
- Alsa
- Additional luggage can be purchased for a fee.
- FlixBus
- Additional luggage can be purchased for a fee.
- Union Ivkoni International
- 10 USD per additional bag.
- Alsa
- Small pets allowed in carriers
- larger pets must travel in the hold.
- Infobus
- Small pets allowed in carriers
- larger pets may require a separate ticket.
- FlixBus
- Small pets in carriers allowed
- guide dogs travel for free.
popular bus stations
Popular bus stations from Milan to Madrid
- 06:00-23:00
- Free Wi-Fi
- Cafeteria Lampugnano (in the station)
- Trattoria Milano (0.5 km)
- Pizza Express (0.7 km).
- Available outside the station.
- Elevators, ramps
- Available in the station.
- Metro: M1 Bus: 68, 78, 80
- 06:00-22:00
- Free Wi-Fi
- Cafeteria Italiana (in the station)
- Fast Food Express (in the station)
- Trattoria Milano (0.5 km).
- Available outside the station.
- Elevators, ramps
- Available in the station.
- Bus: 121, 132 Metro: M3
- 06:00-23:00
- Free Wi-Fi
- Cafetería de la estación (in the station)
- Restaurante El Brillante (0.5 km)
- La Taberna de Domínguez (0.7 km).
- Available outside the main entrance.
- Elevators, ramps
- Available in the station.
- Bus: 8, 102, 148 Metro: L6 Train: C1, C5
- 06:00-23:00
- Rodilla, Mahoudrid
- Step-free access, elevators, accessible toilets
- Located inside the terminal, well-signposted, accessible, and generally clean
- No public showers in the bus station area; showers available in airport lounges (approx. €15-€30 for lounge access)
- Metro Line 8, Aeropuerto T4, 12 km
- 06:00-23:00
- Free Wi-Fi
- Cafetería de la estación (in the station)
- Restaurante El Rincón (0.5 km)
- La Vaca Argentina (0.7 km).
- Available outside the main entrance.
- Elevators, ramps
- Available in the station.
- Bus: 200, 114, 115, 122 Metro: 4, 6, 7, 9
Most popular bus connections from Milan
More options for your journey from Milan to Madrid
Here are some other resources that might have the information you need



