The cheapest and fastest buses from Rome to Milan
Cheapest price
€20
Average price
€41
Fastest journey
5 h 20 m
Average duration
6 h 2 m
Buses per day
56
Distance
477 km
The best way to find a cheap bus ticket from Rome to Milan is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Rome to Milan will cost around €41 if you buy it on the day, but the cheapest tickets can be found for only €20.
Of the 56 buses that leave Rome for Milan on Mon, Dec 29, 41 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Mon, Dec 29 the direct buses cover the 477 km distance in an average of 6 h 2 m but if you time it right, some buses will get you there in just 5 h 20 m .
On Mon, Dec 29 the slowest buses will take 6 h 30 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.
2126
2772 · 2204
2772 · 2204
3802
FlixBus




Travel Information
Compare train, bus, and flight for Rome to Milan
Omio recommends booking the train as it is the most popular option from Rome to Milan among Omio's users. If you are prioritising price take the bus with prices starting from €9. For those with little time consider booking a flight which can get you there in 2h 22m. In case you are seeking to minimise your carbon footprint the train is your best bet as it emits only 0.1 - 0.4kg. The ticket price range depends on the travel mode: a bus costs an average of €9, and a flight costs an average of €62.
Distance: 477 km
Compare bus with
| Bus | Most popular Train | Flight |
|---|---|---|
€31 Average price Cheapest | €57 Average price | €217 Average price |
8h 37m Average total duration 8h 7m Onboard + 30m Additional time* | 6h 36m Average total duration 6h 6m Onboard + 30m Additional time* | 5h 22m Average total duration Fastest 2h 22m Onboard + 3h 0m Additional time* |
0.5 - 1.2kg CO2 emissions | 0.1 - 0.4kg CO2 emissions Lowest | 1.4 - 2.9kg CO2 emissions |
![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Additional time: Average total travel duration to departure point, security checks and transfers.
Live departures
Rome to Milan bus times
The table below shows live departures for Rome to Milan buses for today, Sunday, December 28. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
FlixBus | 9:10 AM Roma, Autostazione Tiburtina | 8h25 | 5:35 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 9:40 AM Roma, Autostazione Tiburtina | 7h50 | 5:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 9:40 AM Roma, Autostazione Tiburtina | 8h35 | 6:15 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2402 | 10:00 AM Roma, Autostazione Tiburtina | 8h15 | 6:15 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus · FlixBus | 10:10 AM Roma, Autostazione (Metro Anagnina) | 10h25 | 8:35 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus | 10:25 AM Roma, Autostazione Tiburtina | 10h20 | 8:45 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 10:50 AM Roma, Autostazione (Metro Anagnina) | 10h45 | 9:35 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 10:50 AM Roma, Autostazione (Metro Anagnina) | 9h05 | 7:55 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus | 11:10 AM Roma, Autostazione Tiburtina | 9h30 | 8:40 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 11:20 AM Roma, Autostazione Tiburtina | 8h35 | 7:55 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 11:45 AM Roma, Autostazione (Metro Anagnina) | 9h55 | 9:40 PM Milano, Autostazione Lampugnano | 1 transfer | |
3804 | 12:00 PM Roma, Autostazione Tiburtina | 7h40 | 7:40 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
3804 | 12:00 PM Roma, Autostazione Tiburtina | 8h25 | 8:25 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 12:05 PM Roma, Autostazione (Metro Anagnina) | 9h15 | 9:20 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 12:05 PM Roma, Autostazione (Metro Anagnina) | 9h50 | 9:55 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus | 1:45 PM Roma, Autostazione Tiburtina | 7h35 | 9:20 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 1:45 PM Roma, Autostazione Tiburtina | 8h10 | 9:55 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2490 | 2:40 PM Roma, Autostazione Tiburtina | 8h55 | 11:35 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2490 | 2:40 PM Roma, Autostazione Tiburtina | 8h09 | 10:49 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 3:35 PM Roma, Autostazione Tiburtina | 8h30 | 12:05 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 3:50 PM Roma, Autostazione Tiburtina | 8h29 | 12:19 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 3:50 PM Roma, Autostazione Tiburtina | 7h55 | 11:45 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus · FlixBus | 4:25 PM Roma, Autostazione (Metro Anagnina) | 10h35 | 3:00 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus | 7:00 PM Roma, Autostazione Tiburtina | 8h00 | 3:00 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
1802 | 8:00 PM Roma, Autostazione Tiburtina | 9h50 | 5:50 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 8:45 PM Roma, Autostazione Tiburtina | 7h30 | 4:15 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 8:45 PM Roma, Autostazione Tiburtina | 8h10 | 4:55 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
3898 | 8:45 PM Roma, Autostazione Tiburtina | 8h25 | 5:10 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 8:55 PM Roma, Autostazione Tiburtina | 14h00 | 10:55 AM Milano, Milan Linate Airport | 1 transfer | |
2772 · 2204 | 9:10 PM Roma, Autostazione Tiburtina | 10h05 | 7:15 AM Milano, Autostazione Lampugnano | 1 transfer | |
2772 · 2204 | 9:10 PM Roma, Autostazione Tiburtina | 9h20 | 6:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
2494 | 9:15 PM Roma, Autostazione Tiburtina | 8h40 | 5:55 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 9:45 PM Roma, Autostazione Tiburtina | 8h10 | 5:55 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
3826 | 10:00 PM Roma, Autostazione Tiburtina | 8h35 | 6:35 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
054 | 10:00 PM Roma, Autostazione Tiburtina | 7h25 | 5:25 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
3826 | 10:00 PM Roma, Autostazione Tiburtina | 7h50 | 5:50 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
054 | 10:00 PM Roma, Autostazione Tiburtina | 8h00 | 6:00 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 10:35 PM Roma, Autostazione (Metro Anagnina) | 9h55 | 8:30 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2422 | 10:40 PM Roma, Autostazione Tiburtina | 7h55 | 6:35 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 10:50 PM Roma, Autostazione Tiburtina | 8h40 | 7:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 10:50 PM Roma, Autostazione Tiburtina | 9h25 | 8:15 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 11:10 PM Roma, Autostazione Tiburtina | 11h45 | 10:55 AM Milano, Milan Linate Airport | 1 transfer | |
FlixBus | 11:15 PM Roma, Autostazione Tiburtina | 9h15 | 8:30 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2418 | 11:40 PM Roma, Autostazione Tiburtina | 7h30 | 7:10 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
| Monday, December 29 | |||||
FlixBus · FlixBus | 12:40 AM Roma, Autostazione Tiburtina | 8h45 | 9:25 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 12:40 AM Roma, Autostazione Tiburtina | 9h30 | 10:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
109 | 4:40 AM Roma, Autostazione Tiburtina | 8h05 | 12:45 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
109 | 4:40 AM Roma, Autostazione Tiburtina | 7h30 | 12:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 5:30 AM Roma, Autostazione Tiburtina | 8h50 | 2:20 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 5:30 AM Roma, Autostazione Tiburtina | 8h05 | 1:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
3492 | 6:00 AM Roma, Autostazione Tiburtina | 7h45 | 1:45 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2126 | 7:00 AM Roma, Autostazione Tiburtina | 8h00 | 3:00 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 7:15 AM Roma, Autostazione Tiburtina | 12h40 | 7:55 PM Milano, Milan Linate Airport | 1 transfer | |
FlixBus | 7:20 AM Roma, Autostazione Tiburtina | 10h35 | 5:55 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 7:30 AM Roma, Autostazione Tiburtina | 8h40 | 4:10 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
3802 | 8:00 AM Roma, Autostazione Tiburtina | 7h45 | 3:45 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 8:15 AM Roma, Autostazione Tiburtina | 9h55 | 6:10 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 8:25 AM Roma, Autostazione Tiburtina | 8h30 | 4:55 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2790 · 3090 | 9:00 AM Roma, Autostazione Tiburtina | 12h10 | 9:10 PM Milano, Autostazione Lampugnano | 1 transfer | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Rome to Milan 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.
Dec 29
Dec 30
Dec 31
Jan 01
Jan 02
Jan 03
Jan 04
Jan 05
Jan 06
Jan 07
Jan 08
Jan 09
Jan 10
Jan 11
Jan 12
Jan 13
Jan 14
Jan 15
Jan 16
Jan 17
Jan 18
Journey information
Overview: Bus from Rome to Milan
Buses from Rome to Milan run on average 45 times per day, taking around 8h 7m. Cheap bus tickets for this journey start at €9 if you book in advance.
There are 33 buses per day. The earliest bus runs at 00:04, the last at 23:55. The fastest bus covers the 477 km distance in 7h 45m.
Distance 477 km |
Average bus duration 8h 7m |
Cheapest ticket price €9 |
Buses per day 45 |
Direct buses 33 |
Fastest bus 7h 45m |
First bus 00:04 |
Last bus 23:55 |
Bus providers: Itabus, FlixBus, Marino Autolinee, Autoservizi Salemi, BlaBlaCar, BlaBlaCar Bus, Infobus, Autoservizi Salemi Srl from Rome to MilanYou can travel by bus between Rome to Milan with Itabus, FlixBus, Marino Autolinee, Autoservizi Salemi, BlaBlaCar, BlaBlaCar Bus, Infobus, Autoservizi Salemi Srl for as low as €9. When you search for schedules and tickets, Omio will show you the best journey
Itabus
FlixBus
Marino Autolinee
Infobus
BlaBlaCar Bus
Autoservizi Salemi
BlaBlaCar
Autoservizi Salemi Srl
FAQs: Bus from Rome to Milan
Find answers to the most common questions about traveling from Rome 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.

Passengers board the coach most frequently from Roma, Autostazione Tiburtina, which is located around 3.5 miles (5.6 km) away from the city centre, and they get off the coach at Orio al Serio, Milan Bergamo Airport (Bus station), located 28.2 miles (45.5 km) away from the city centre.
To find the cheapest bus tickets for your trip from Rome to Milan, follow these tips:
Start your search now and compare ticket prices to find the best deal!
popular bus stations
Popular bus stations from Rome to Milan
- 06:00-23:00
- Free Wi-Fi
- Ristorante Italiano (in the station)
- Fast Food Express (in the station)
- Caffè del Terminal (in the station).
- Available outside the arrivals terminal.
- Elevators, ramps
- Available in the station.
- Bus: 520, 720 Train: Leonardo Express
- 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
Most popular bus connections from Rome
More options for your journey from Rome to Milan
Here are some other resources that might have the information you need



