- Must visit
Pinacoteca di Brera
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
Cheapest price
$65
Average price
$150
Fastest journey
19 h 33 m
Average duration
21 h 14 m
Buses per day
33
Distance
1188 km
The best way to find a cheap bus ticket from Madrid to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Madrid to Milan will cost around $150 if you buy it on the day, but the cheapest tickets can be found for only $65.
Of the 33 buses that leave Madrid for Milan on Wed, Jul 15, 1 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Wed, Jul 15 the direct buses cover the 1188 km distance in an average of 21 h 14 m but if you time it right, some buses will get you there in just 19 h 33 m .
On Wed, Jul 15 the slowest buses will take 22 h 18 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.
Normal · Normal
Normal · Normal
3187 · 94765
06261+
54152 · 51047
06261+
4732
06111+
4732
06011+
4732
06121+
54152 · 51047
06281+
4732
06111+
54152 · 51047Omio 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 $51. 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 $51, and a train costs an average of $184.
Distance: 738 miles (1188 km)
| Bus | Most popular Flight | Train | Driving |
|---|---|---|---|
$115 Average price Cheapest | $218 Average price | $235 Average price | $296 Average price (fuel + tolls) |
20h 34m Average total duration 20h 4m Onboard + 30m Additional time* | 7h 37m Average total duration Fastest 4h 37m Onboard + 3h 0m Additional time* | 15h 54m Average total duration 15h 24m Onboard + 30m Additional time* | 16h 1m Average total duration (door-to-door) |
1.2 - 3.0kg CO2 emissions Lowest | 3.6 - 7.1kg CO2 emissions | - CO2 emissions | - CO2 emissions |
![]() Most popular bus company | ![]() Most popular airline | ![]() Most popular train company | Your own car or car rental |
Direct Options | Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
This is compared to other travel options from Madrid to Milan:
A bus is $103 (€85) less than a flight for this route with tickets for a flight from Madrid to Milan costing on average $218 (€180).
A bus is $120 (€99) less than a train for this route with tickets for a train from Madrid to Milan costing on average $235 (€194).
Other travel options to Milan take longer:
Train takes on average 15h 24m.
Bus takes on average 20h 4m.
Tickets start at around $115 (€95) compared to roughly $296 (€244) in fuel and tolls — a saving of about $181 (€150). The journey takes 20h 4m versus 16h 1m by car, so you'll arrive a bit later, but you can use the time productively rather than spending it behind the wheel. No parking to sort, no fuel stops, and most coaches have Wi-Fi and power outlets.
Direct services are operated by Union Ivkoni International, FlixBus, Alsa, Infobus.
Driving is worth considering if you're on a tight schedule, travelling as a group (where fuel costs split several ways), or want the flexibility to stop along the way.
| Operator | Departure Time | Arrival Time | Duration | Departure days | Cheapest price |
|---|---|---|---|---|---|
Operator Alsa | Departure Time 01:00AM | Arrival Time 12:10AM | Duration 23h10 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $65 |
Operator Alsa | Departure Time 01:15AM | Arrival Time 12:10AM | Duration 22h55 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $65 |
Operator iryo | Departure Time 06:09AM | Arrival Time 06:00AM | Duration 23h51 | Departure days Mon, Tue, Wed, Thu, Fri | Cheapest price $122 |
Operator BlaBlaCar Bus | Departure Time 06:30AM | Arrival Time 06:55AM | Duration 24h25 | Departure days Mon, Thu, Fri, Sat, Sun | Cheapest price $122 |
Operator Alsa | Departure Time 07:00AM | Arrival Time 06:55AM | Duration 23h55 | Departure days Mon, Fri, Sat, Sun | Cheapest price $82 |
Operator iryo | Departure Time 07:22AM | Arrival Time 06:55AM | Duration 23h33 | Departure days Mon, Tue, Wed, Thu, Fri, Sat | Cheapest price $131 |
Operator iryo | Departure Time 08:22AM | Arrival Time 06:55AM | Duration 22h33 | Departure days Everyday | Cheapest price $132 |
Operator BlaBlaCar Bus | Departure Time 08:35AM | Arrival Time 09:40AM | Duration 25h05 | Departure days Wed, Fri, Sun | Cheapest price $133 |
Operator iryo | Departure Time 08:50AM | Arrival Time 06:55AM | Duration 22h05 | Departure days Everyday | Cheapest price $131 |
Operator iryo | Departure Time 09:57AM | Arrival Time 06:55AM | Duration 20h58 | Departure days Everyday | Cheapest price $133 |
Operator | Departure Time 10:00AM | Arrival Time 03:30PM | Duration 29h30 | Departure days Fri | Cheapest price $164 |
Operator iryo | Departure Time 11:22AM | Arrival Time 02:05PM | Duration 26h43 | Departure days Everyday | Cheapest price $137 |
Operator iryo | Departure Time 12:22PM | Arrival Time 02:05PM | Duration 25h43 | Departure days Mon, Tue, Wed, Fri, Sat, Sun | Cheapest price $137 |
Operator iryo | Departure Time 02:42PM | Arrival Time 02:05PM | Duration 23h23 | Departure days Mon, Tue, Wed, Fri, Sat, Sun | Cheapest price $140 |
Operator FlixBus | Departure Time 03:55PM | Arrival Time 09:55PM | Duration 30h00 | Departure days Mon, Tue, Wed, Thu, Fri, Sat | Cheapest price $116 |
Operator FlixBus | Departure Time 07:05PM | Arrival Time 06:10PM | Duration 23h05 | Departure days Everyday | Cheapest price $118 |
Operator BlaBlaCar Bus | Departure Time 08:30PM | Arrival Time 12:10AM | Duration 27h40 | Departure days Everyday | Cheapest price $113 |
Operator FlixBus | Departure Time 08:50PM | Arrival Time 12:05AM | Duration 27h15 | Departure days Fri, Sat | Cheapest price $164 |
Operator BlaBlaCar Bus | Departure Time 10:30PM | Arrival Time 06:10AM | Duration 31h40 | Departure days Everyday | Cheapest price $121 |
Operator Alsa | Departure Time 11:30PM | Arrival Time 12:10AM | Duration 24h40 | Departure days Everyday | Cheapest price $65 |
Operator FlixBus | Departure Time 11:35PM | Arrival Time 11:55AM | Duration 36h20 | Departure days Everyday | Cheapest price $133 |
Operator Alsa | Departure Time 11:45PM | Arrival Time 12:10AM | Duration 24h25 | Departure days Mon, Tue, Thu, Sat, Sun | Cheapest price $65 |
Operator Alsa | Departure Time 11:59PM | Arrival Time 12:10AM | Duration 24h11 | Departure days Everyday | Cheapest price $65 |
Operator FlixBus | Departure Time 11:59PM | Arrival Time 07:55AM | Duration 31h56 | Departure days Everyday | Cheapest price $148 |
The table below shows live departures for Madrid to Milan buses for today, Tuesday, July 14. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
06261+ 4732 | 6:09 AM Madrid-Puerta de Atocha-Almudena Grandes | 24h46 | 6:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
06261+ 93130 · 4751 | 6:09 AM Madrid-Puerta de Atocha-Almudena Grandes | 23h51 | 6:00 AM Milano, Autostazione Lampugnano | 2 transfers | |
06071+ 4732 | 7:22 AM Madrid-Puerta de Atocha-Almudena Grandes | 23h33 | 6:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
06081+ 4732 | 8:22 AM Madrid-Puerta de Atocha-Almudena Grandes | 22h33 | 6:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
06281+ 4732 | 8:50 AM Madrid-Puerta de Atocha-Almudena Grandes | 22h05 | 6:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
06011+ 4732 | 9:57 AM Madrid-Puerta de Atocha-Almudena Grandes | 20h58 | 6:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
06011+ 3154 · 4767 | 9:57 AM Madrid-Puerta de Atocha-Almudena Grandes | 28h08 | 2:05 PM Milano, Autostazione Lampugnano | 2 transfers | |
06111+ 4732 | 11:22 AM Madrid-Puerta de Atocha-Almudena Grandes | 19h33 | 6:55 AM Milano, Autostazione Lampugnano | 1 transfer | |
06111+ 3154 · 4767 | 11:22 AM Madrid-Puerta de Atocha-Almudena Grandes | 26h43 | 2:05 PM Milano, Autostazione Lampugnano | 2 transfers | |
06121+ 3154 · 4767 | 12:22 PM Madrid-Puerta de Atocha-Almudena Grandes | 25h43 | 2:05 PM Milano, Autostazione Lampugnano | 2 transfers | |
06021+ 3154 · 4767 | 2:42 PM Madrid-Puerta de Atocha-Almudena Grandes | 23h23 | 2:05 PM Milano, Autostazione Lampugnano | 2 transfers | |
FlixBus · FlixBus · FlixBus | 3:55 PM Madrid, Estación Sur de Autobuses | 30h00 | 9:55 PM Milano, Autostazione Lampugnano | 2 transfers | |
FlixBus · FlixBus · FlixBus | 3:55 PM Madrid, Estación Sur de Autobuses | 30h35 | 10:30 PM Milano, Autostazione Lampugnano | 2 transfers | |
FlixBus · FlixBus · FlixBus | 3:55 PM Madrid, Estación Sur de Autobuses | 27h10 | 7:05 PM Milano, Autostazione Lampugnano | 2 transfers | |
FlixBus | 7:05 PM Madrid, Estación Sur de Autobuses | 23h05 | 6:10 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
3187 · 4734 | 8:30 PM Madrid, Estación Sur de Autobuses | 27h40 | 12:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
3160 · 94763 | 10:30 PM Madrid, Estación Sur de Autobuses | 31h40 | 6:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
Normal · Normal | 11:30 PM Madrid, Intercambiador de Avenida de América | 24h40 | 12:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus · FlixBus · FlixBus | 11:35 PM Madrid, Estación Sur de Autobuses | 36h20 | 11:55 AM Milano, Milan Linate Airport | 3 transfers | |
FlixBus · FlixBus · FlixBus | 11:35 PM Madrid, Estación Sur de Autobuses | 32h20 | 7:55 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
FlixBus · FlixBus · FlixBus | 11:35 PM Madrid, Estación Sur de Autobuses | 30h55 | 6:30 AM Milano, Autostazione Lampugnano | 2 transfers | |
Normal · Normal | 11:45 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 24h25 | 12:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
Normal · Normal | 11:59 PM Madrid, Intercambiador de Avenida de América | 24h11 | 12:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus · FlixBus | 11:59 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 31h56 | 7:55 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 2 transfers | |
FlixBus · FlixBus · FlixBus | 11:59 PM Madrid, Terminal de autobuses T4 (Aeropuerto de Madrid) | 30h31 | 6:30 AM Milano, Autostazione Lampugnano | 2 transfers | |
Find all the dates and times for this journey
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.
Buses from Madrid to Milan run on average 11 times per day, taking around 20h 4m. Cheap bus tickets for this journey start at $51 (€42) if you book in advance.
There are 1 buses per day. The earliest bus runs at 00:14, the last at 23:55. The fastest bus covers the 738 miles (1188 km) distance in 22h 55m.
Distance 738 miles (1188 km) |
Average bus duration 20h 4m |
Cheapest ticket price $51 (€42) |
Buses per day 11 |
Direct buses 1 |
Fastest bus 22h 55m |
First bus 12:14 AM |
Last bus 11:55 PM |
Cheapest Month Mar |
Cheapest Day Sun |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Mon |
Best time to book 77 days |
Discover the best of Milan — top attractions, local food, transport tips, budget advice, and currency essentials. Plan your perfect Milan trip today.
One of Italy’s top art museums, featuring masterpieces by Mantegna, Bellini, Raphael, Caravaggio, and Piero della Francesca.
This contemporary art museum near Porta Romana presents rotating exhibitions in a striking former industrial distillery complex.
Italy’s leading science museum is set in a former monastery and features Leonardo galleries, trains, aircraft, and a submarine.
Milan’s central square frames the cathedral and major civic buildings, making it the city’s essential meeting point and photo stop.
This artistic district offers charming lanes, Brera atmosphere, boutiques, and easy access to galleries and evening strolls.
A large landscaped park behind the castle, perfect for walks, skyline views, and reaching landmarks like the Arch of Peace.
Saffron risotto cooked with butter, stock and cheese. It is Milan's signature dish, linked to the city's love of rich northern Italian rice cookery.
Breaded veal cutlet fried in butter until golden. A classic Milanese main, prized for its simple preparation and long-standing local tradition.
Slow-braised veal shanks with vegetables, wine and broth, often finished with gremolata. A hearty Lombard specialty commonly paired with risotto.
Three-Michelin-star fine dining by Enrico Bartolini in MUDEC. Expect refined Italian tasting menus in a polished contemporary setting.
Historic Milanese restaurant near the Duomo, famous for risotto and cotoletta. Traditional, elegant rooms and a strong local culinary identity.
Long-running local favorite for classic Milanese cuisine, especially risotto and ossobuco. Warm, old-school atmosphere in the Brera area.
Moderate for Western Europe. Hotels and central dining can be pricey, but transit is affordable and budget meals, aperitivo deals, and local cafes help keep daily costs reasonable.
Tipping is modest. Service may be included. Round up or leave €1-2 at cafes, 5-10% for good restaurant service, and round up taxi fares.
Official public transport app
Orio al Serio, Milan Bergamo Airport (Bus station) -> Milano Centrale, Milan
Find answers to the most common questions about traveling from Madrid to Milan 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 Milan, this guide helps you travel smarter and with confidence.

Here are some other resources that might have the information you need