The cheapest and fastest buses from Rome Termini to Milan
Cheapest price
€12
Average price
€24
Fastest journey
7 h
Average duration
7 h 23 m
Buses per day
60
Distance
477 km
The best way to find a cheap bus ticket from Rome Termini 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 Termini to Milan will cost around €24 if you buy it on the day, but the cheapest tickets can be found for only €12.
Of the 60 buses that leave Rome Termini for Milan on Sat, Jul 11, 46 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sat, Jul 11 the direct buses cover the 477 km distance in an average of 7 h 23 m but if you time it right, some buses will get you there in just 7 h .
On Sat, Jul 11 the slowest buses will take 7 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.
240211:00 AM7h50Roma, Autostazione Tiburtina6:50 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)€121One-way0 transfers
FlixBus6:50 PM9h40Roma, Autostazione Tiburtina4:30 AMAssago, Viale Milanofiori (Assago M2)€131One-way0 transfers
FlixBus11:25 AM10h20Roma, Autostazione Tiburtina9:45 PMMilano, Autostazione Lampugnano€131One-way0 transfers
38041:00 PM7h40Roma, Autostazione Tiburtina8:40 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)€131One-way0 transfers
382610:45 PM9h05Roma, Autostazione Tiburtina7:50 AMMilano, Autostazione Lampugnano€131One-way0 transfers
FlixBus · FlixBus4:00 PM7h00Roma, Autostazione Tiburtina11:00 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)€431One-way1 transfer
05411:00 PM7h25Roma, Autostazione Tiburtina6:25 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)€581One-way0 transfers
FlixBus9:45 PM7h30Roma, Autostazione Tiburtina5:15 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)€251One-way0 transfers
241812:40 AM7h30Roma, Autostazione Tiburtina8:10 AMMilano, San Donato - Settore B (Viale Giuseppe Impastato)€151One-way0 transfers
1095:40 AM7h30Roma, Autostazione Tiburtina1:10 PMMilano, San Donato - Settore B (Viale Giuseppe Impastato)€351One-way0 transfers
Travel Information
Compare train, bus, and flight for Rome Termini to Milan
Omio recommends booking the train as it is the most popular option from Rome Termini to Milan among Omio's users. If you are prioritising price take the bus with prices starting from €6. For those with little time consider booking a flight which can get you there in 2h 8m. The ticket price range depends on the travel mode: a bus costs an average of €6, and a flight costs an average of €68.
Distance: 477 km
Compare bus with
| Bus | Most popular Train | Flight |
|---|---|---|
€17 Average price Cheapest | €59 Average price | €157 Average price |
7h 34m Average total duration 7h 4m Onboard + 30m Additional time* | 7h 4m Average total duration 6h 34m Onboard + 30m Additional time* | 5h 8m Average total duration Fastest 2h 8m Onboard + 3h 0m Additional time* |
![]() Most popular bus company | ![]() Most popular train company | ![]() Most popular airline |
Direct Options | Direct Options | Direct Options |
Live departures
Rome Termini to Milan bus times
The table below shows live departures for Rome Termini to Milan buses for today, Friday, July 10. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
109 | 5:40 AM Roma, Autostazione Tiburtina | 8h05 | 1:45 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
109 | 5:40 AM Roma, Autostazione Tiburtina | 7h30 | 1:10 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 6:30 AM Roma, Autostazione Tiburtina | 8h50 | 3:20 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 6:30 AM Roma, Autostazione Tiburtina | 8h05 | 2:35 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
3492 | 7:00 AM Roma, Autostazione Tiburtina | 7h45 | 2:45 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2126 | 8:00 AM Roma, Autostazione Tiburtina | 8h40 | 4:40 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 8:30 AM Roma, Autostazione Tiburtina | 9h55 | 6:25 PM Assago, Viale Milanofiori (Assago M2) | 0 transfersDirect | |
FlixBus | 8:30 AM Roma, Autostazione Tiburtina | 8h40 | 5:10 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 8:30 AM Roma, Autostazione Tiburtina | 10h25 | 6:55 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 8:30 AM Roma, Autostazione Tiburtina | 8h00 | 4:30 PM Assago, Viale Milanofiori (Assago M2) | 0 transfersDirect | |
FlixBus | 9:10 AM Roma, Autostazione Tiburtina | 10h10 | 7:20 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 9:25 AM Roma, Autostazione Tiburtina | 8h30 | 5:55 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 9:30 AM Roma, Autostazione Tiburtina | 10h15 | 7:45 PM Sesto San Giovanni, Piazza Primo Maggio (Stazione ferroviaria) | 1 transfer | |
FlixBus | 10:10 AM Roma, Autostazione Tiburtina | 8h25 | 6:35 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 10:40 AM Roma, Autostazione Tiburtina | 8h35 | 7:15 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 10:40 AM Roma, Autostazione Tiburtina | 7h50 | 6:30 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
2402 | 11:00 AM Roma, Autostazione Tiburtina | 7h50 | 6:50 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus · FlixBus | 11:00 AM Roma, Autostazione (Metro Anagnina) | 10h25 | 9:25 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus | 11:25 AM Roma, Autostazione Tiburtina | 10h20 | 9:45 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 12:00 PM Roma, Autostazione (Metro Anagnina) | 8h55 | 8:55 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus | 12:10 PM Roma, Autostazione Tiburtina | 9h30 | 9:40 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 12:10 PM Roma, Autostazione Tiburtina | 9h00 | 9:10 PM Assago, Viale Milanofiori (Assago M2) | 0 transfersDirect | |
FlixBus · FlixBus | 12:20 PM Roma, Autostazione Tiburtina | 8h35 | 8:55 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
3804 | 1:00 PM Roma, Autostazione Tiburtina | 7h40 | 8:40 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
3804 | 1:00 PM Roma, Autostazione Tiburtina | 8h25 | 9:25 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 1:05 PM Roma, Autostazione (Metro Anagnina) | 9h50 | 10:55 PM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 1:05 PM Roma, Autostazione (Metro Anagnina) | 9h15 | 10:20 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus | 2:45 PM Roma, Autostazione Tiburtina | 7h35 | 10:20 PM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 2:45 PM Roma, Autostazione Tiburtina | 8h10 | 10:55 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
4788 · 94561 | 3:20 PM Roma, Autostazione Tiburtina | 14h40 | 6:00 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus | 3:45 PM Roma, Autostazione Tiburtina | 8h14 | 11:59 PM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 4:35 PM Roma, Autostazione Tiburtina | 8h30 | 1:05 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 5:25 PM Roma, Autostazione (Metro Anagnina) | 10h35 | 4:00 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus | 6:50 PM Roma, Autostazione Tiburtina | 9h40 | 4:30 AM Assago, Viale Milanofiori (Assago M2) | 0 transfersDirect | |
FlixBus | 6:50 PM Roma, Autostazione Tiburtina | 11h40 | 6:30 AM Sesto San Giovanni, Piazza Primo Maggio (Stazione ferroviaria) | 0 transfersDirect | |
FlixBus | 8:00 PM Roma, Autostazione Tiburtina | 8h00 | 4:00 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 9:20 PM Roma, Autostazione Tiburtina | 9h40 | 7:00 AM Assago, Viale Milanofiori (Assago M2) | 1 transfer | |
FlixBus | 9:45 PM Roma, Autostazione Tiburtina | 7h30 | 5:15 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 9:45 PM Roma, Autostazione Tiburtina | 8h10 | 5:55 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
3898 | 9:45 PM Roma, Autostazione Tiburtina | 8h25 | 6:10 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus · FlixBus | 9:55 PM Roma, Autostazione Tiburtina | 14h00 | 11:55 AM Milano, Milan Linate Airport | 1 transfer | |
2772 · 2214 | 10:00 PM Roma, Autostazione Tiburtina | 10h20 | 8:20 AM Milano, Autostazione Lampugnano | 1 transfer | |
2772 · 2214 | 10:00 PM Roma, Autostazione Tiburtina | 9h35 | 7:35 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
2494 | 10:15 PM Roma, Autostazione Tiburtina | 8h40 | 6:55 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 10:45 PM Roma, Autostazione Tiburtina | 8h10 | 6:55 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
3826 | 10:45 PM Roma, Autostazione Tiburtina | 9h05 | 7:50 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
3826 | 10:45 PM Roma, Autostazione Tiburtina | 8h20 | 7:05 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
054 | 11:00 PM Roma, Autostazione Tiburtina | 8h00 | 7:00 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
054 | 11:00 PM Roma, Autostazione Tiburtina | 7h25 | 6:25 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
054 · 084 | 11:00 PM Roma, Autostazione Tiburtina | 8h00 | 7:00 AM Assago, Viale Milanofiori (Assago M2) | 1 transfer | |
3506 | 11:15 PM Roma, Autostazione Tiburtina | 9h35 | 8:50 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 11:35 PM Roma, Autostazione (Metro Anagnina) | 9h55 | 9:30 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
FlixBus | 11:35 PM Roma, Autostazione (Metro Anagnina) | 9h25 | 9:00 AM Sesto San Giovanni, Piazza Primo Maggio (Stazione ferroviaria) | 0 transfersDirect | |
2422 | 11:45 PM Roma, Autostazione Tiburtina | 7h55 | 7:40 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 11:50 PM Roma, Autostazione Tiburtina | 8h40 | 8:30 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus | 11:50 PM Roma, Autostazione Tiburtina | 9h25 | 9:15 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
| Saturday, July 11 | |||||
FlixBus | 12:15 AM Roma, Autostazione Tiburtina | 8h45 | 9:00 AM Sesto San Giovanni, Piazza Primo Maggio (Stazione ferroviaria) | 0 transfersDirect | |
FlixBus | 12:15 AM Roma, Autostazione Tiburtina | 9h15 | 9:30 AM Milano, Autostazione Lampugnano | 0 transfersDirect | |
2418 | 12:40 AM Roma, Autostazione Tiburtina | 7h30 | 8:10 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 0 transfersDirect | |
FlixBus · FlixBus | 1:20 AM Roma, Autostazione Tiburtina | 9h50 | 11:10 AM Milano, Autostazione Lampugnano | 1 transfer | |
FlixBus · FlixBus | 1:20 AM Roma, Autostazione Tiburtina | 9h05 | 10:25 AM Milano, San Donato - Settore B (Viale Giuseppe Impastato) | 1 transfer | |
FlixBus · FlixBus | 1:20 AM Roma, Autostazione Tiburtina | 10h35 | 11:55 AM Milano, Milan Linate Airport | 1 transfer | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Rome Termini 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.
Jul 10
Jul 11
Jul 12
Jul 13
Jul 14
Jul 15
Jul 16
Jul 17
Jul 18
Jul 19
Jul 20
Jul 21
Jul 22
Jul 23
Jul 24
Jul 25
Jul 26
Jul 27
Jul 28
Jul 29
Jul 30
Why should you book Rome Termini to Milan buses with Omio?
Why book with Omio vs Itabus?
- Compare with other providers: On Omio, you can not only buy tickets for Itabus, but also compare tickets for the likes of FlixBus, Marino Autolinee, Autoservizi Salemi or BlaBlaCar Bus to find the best option for your trip from Rome Termini to Milan.
- 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 Itabus with all available travel options, which are train, bus and flight to ensure you get the best deal for traveling from Rome Termini to Milan.
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, Marino Autolinee, Autoservizi Salemi or BlaBlaCar Bus to find the best option for your trip from Rome Termini to Milan.
- Multiple modes of transport: Omio allows you to compare travel options including train, bus and flight to find the ideal travel option from Rome Termini to Milan.
Journey information
Overview: Bus from Rome Termini to Milan
Buses from Rome Termini to Milan run on average 45 times per day, taking around 7h 4m. Cheap bus tickets for this journey start at €6 if you book in advance.
There are 33 buses per day. The earliest bus runs at 03:40, the last at 23:40. The fastest bus covers the 477 km distance in 7h 25m.
Distance 477 km |
Average bus duration 7h 4m |
Cheapest ticket price €6 |
Buses per day 45 |
Direct buses 33 |
Fastest bus 7h 25m |
First bus 3:40 AM |
Last bus 11:40 PM |
Cheapest Month Jun |
Cheapest Day Sat |
High Season Jul - Sep |
Low Season Jan - Mar |
Busiest Day Tue |
Least Busy Day Sun |
Bus providers: Itabus, FlixBus, BlaBlaCar, Marino Autolinee, Autoservizi Salemi, BlaBlaCar Bus, Infobus, ATAC S.p.A. Azienda per la mobilità from Rome Termini to MilanYou can travel by bus between Rome Termini to Milan with Itabus, FlixBus, BlaBlaCar, Marino Autolinee, Autoservizi Salemi, BlaBlaCar Bus, Infobus, ATAC S.p.A. Azienda per la mobilità for as low as €6. When you search for schedules and tickets, Omio will show you the best journey
Itabus
FlixBus
Marino Autolinee
Infobus
BlaBlaCar Bus
Autoservizi Salemi
BlaBlaCar
ATAC S.p.A. Azienda per la mobilità
FAQs: Bus from Rome Termini to Milan
Find answers to the most common questions about traveling from Rome Termini 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.

- Marino Autolinee
- Assistance
- Priority seating
- Accessible restrooms.
- FlixBus
- Assistance
- Priority boarding
- Wheelchair-accessible buses.
- Itabus
- Assistance
- Dedicated seating areas
- Accessible restrooms.
- Marino Autolinee
- You can cancel your ticket up to 24 hours before departure for a full refund. Cancellations within 24 hours incur a 50% 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.
- Itabus
- You can cancel your ticket up to 24 hours before departure for a partial refund. Changes allowed for a fee.
- Marino Autolinee
- One carry-on bag up to 10kg (55x40x20 cm) and one checked bag up to 20kg (80x50x30 cm).
- FlixBus
- One carry-on bag up to 7kg (42x30x18 cm) and one checked bag up to 20kg (80x50x30 cm).
- Itabus
- One carry-on bag up to 10kg and one checked bag up to 20kg.
- Marino Autolinee
- 10€ per additional bag up to 20 kg.
- FlixBus
- Additional luggage can be purchased for a fee.
- Itabus
- 5€ per additional bag.
- Marino Autolinee
- Small pets allowed in carriers
- larger pets must be leashed and muzzled.
- FlixBus
- Small pets in carriers allowed
- guide dogs travel for free.
- Itabus
- Small pets allowed in carriers
- larger pets must be leashed and muzzled.
popular bus stations
Popular bus stations from Rome Termini to Milan
Most Rome Termini to Milan buses use the Roma, Autostazione Tiburtina to Milano, Autostazione Lampugnano station pair, with some services arriving at Milano, San Donato - Settore B (Viale Giuseppe Impastato). Use this guide to compare Rome Termini and Milan bus stations on this route, check city-centre transport, alongside checking practicalities like bus station facilities and services.
Getting to Milano, Autostazione Lampugnano from Milan city centre
Milano, Autostazione Lampugnano is 5 km from Milan city centre. Public transport options include:
Milano, Autostazione Lampugnano bus station facilities and services
Milano, Autostazione Lampugnano has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food and drink
Food options include: Cafeteria Lampugnano (in the station), Trattoria Milano (0.5 km), Pizza Express (0.7 km).
Wi-Fi and ATMs
Free Wi-Fi. ATMs are located near the main entrance.
Tickets and information
Ticket office support is available at Milano, Autostazione Lampugnano.
Parking, taxis and toilets
Available at Milano, Autostazione Lampugnano: Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milano, Autostazione Lampugnano: Elevators, ramps.
Getting to Milano, San Donato - Settore B (Viale Giuseppe Impastato) from Milan city centre
Milano, San Donato - Settore B (Viale Giuseppe Impastato) is 6 km from Milan city centre. Public transport options include:
Milano, San Donato - Settore B (Viale Giuseppe Impastato) bus station facilities and services
Milano, San Donato - Settore B (Viale Giuseppe Impastato) has practical services for this route, including Wifi, Parking, Dining, ATM, Taxis, Accessibility, WC, and Ticket Office.
Food and drink
Food options include: Cafeteria Italiana (in the station), Fast Food Express (in the station), Trattoria Milano (0.5 km).
Wi-Fi and ATMs
Free Wi-Fi. ATMs are located near the main entrance for cash withdrawals.
Tickets and information
Ticket office support is available at Milano, San Donato - Settore B (Viale Giuseppe Impastato).
Parking, taxis and toilets
Available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Parking, Taxis, WC.
Accessibility
Accessibility facilities are available at Milano, San Donato - Settore B (Viale Giuseppe Impastato): Elevators, ramps.
Getting to Milano, Aeroporto di Milano Linate from Milan city centre
More options for your journey from Rome Termini to Milan
Here are some other resources that might have the information you need



