There are 10 ways to get from Rome to Milan by train, plane, train (Eurostar, Trenitalia), bus, or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Train to Brussels Airport, fly to Milan Linate Airport
best- Take the train from Ath to Brussels Airport-Zaventemtrain
- Fly from Brussels Airport (BRU) to Milan Linate Airport (LIN)plane BRU - LIN
6h 2m€49–229Train
- Take the train from Ath to Bruxelles-Miditrain Ic / ...
- Take the train from Brussel-Zuid / Bruxelles-Midi to Chambery Challes Les Eauxtrain
- Take the train from Chambery Challes Les Eaux to Milano Centraletrain Fr
11h 25m€290–501Train, bus
- Take the train from Ath to Brussels-Nordtrain Ic / ...
- Take the bus from Brussels-North Station to Milano, Autostazione Lampugnanobus
16h 27mDrive 913.2 km
- Drive from Rome to Milancar 913.2 km
9h 32m€142–205Train to Brussels Airport, fly to Milano Malpensa Airport, train
- Take the train from Ath to Brussels Airport-Zaventemtrain
- Fly from Brussels Airport (BRU) to Milano Malpensa Airport (MXP)plane BRU - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
7h 1m€82–232Train to Brussels South Charleroi Airport, fly to Il Caravaggio International Airport, bus
- Take the train from Mons to Charleroi-Centraltrain
- Fly from Brussels South Charleroi Airport (CRL) to Il Caravaggio International Airport (BGY)plane CRL - BGY
- Take the bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoiabus
7h 21m€56–246Train, train to Amsterdam Airport Schiphol, fly to Milan Linate Airport
- Take the train from Ath to Bruxelles-Miditrain
- Take the train from Brussel-Zuid / Bruxelles-Midi to Schiphol Airporttrain
- Fly from Amsterdam Airport Schiphol (AMS) to Milan Linate Airport (LIN)plane AMS - LIN
7h 30m€131–374Train, train to Paris Charles De Gaulle Airport, fly to Milan Linate Airport
- Take the train from Ath to Bruxelles-Miditrain
- Take the train from Brussel-Zuid / Bruxelles-Midi to Aeroport Cdg2 Tgv Roissytrain
- Fly from Paris Charles De Gaulle Airport (CDG) to Milan Linate Airport (LIN)plane CDG - LIN
7h 31m€131–424Bus
- Take the bus from Mons - Place Léopold to Milano - Famagostabus
16h 32mBus via Brussels
- Take the bus from Ath to Bruxelles-Midibus Bus
- Take the bus from Brussels - Midi Train Station to Milano, Autostazione Lampugnanobus BlaBlaCar Bus
16h 41m
Rome to Milan by bus and train
Questions & Answers
The cheapest way to get from Rome to Milan is to train and fly which costs €45 - €230 and takes 6h 2m.
The fastest way to get from Rome to Milan is to train and fly which takes 6h 2m and costs €45 - €230.
No, there is no direct bus from Rome to Milan. However, there are services departing from LA HAMAIDE Le Cornet and arriving at Milano - Famagosta via Mons - Place Léopold. The journey, including transfers, takes approximately 16h 32m.
No, there is no direct train from Rome to Milan. However, there are services departing from Ath and arriving at Milano Centrale via Brussel-Zuid / Bruxelles-Midi and Chambery Challes Les Eaux. The journey, including transfers, takes approximately 11h 25m.
The distance between Rome and Milan is 789 km. The road distance is 913.2 km.
The best way to get from Rome to Milan without a car is to train which takes 11h 25m and costs €290 - €500.
It takes approximately 6h 2m to get from Rome to Milan, including transfers.
Rome to Milan bus services, operated by Onebus, depart from Mons - Place Léopold station.
Rome to Milan train services, operated by Belgian Railways (NMBS/SNCB), depart from Ath station.
The best way to get from Rome to Milan is to train which takes 11h 25m and costs €290 - €500. Alternatively, you can bus, which costs and takes 16h 32m.
What companies run services between Rome, Wallonia, Belgium and Milan, Italy?
You can take a bus from LA HAMAIDE Le Cornet to Milano Centrale via ATH SNCB - Quai D, Ath, Brussel-Zuid / Bruxelles-Midi, and Chambery Challes Les Eaux in around 11h 25m. Alternatively, Onebus operates a bus from Mons - Place Léopold to Milano - Famagosta once a week, and the journey takes 13h 54m.
- Website
- lufthansa.com
Flights from Brussels Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 35m
- When
- Monday, Tuesday, Friday, Saturday, and Sunday
- Estimated price
- €190–310
Flights from Brussels Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 25m
- When
- Every day
- Estimated price
- €70–420
Flights from Brussels Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €65–180
Flights from Amsterdam Airport Schiphol to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 46m
- When
- Every day
- Estimated price
- €120–360
Flights from Paris Charles De Gaulle Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 27m
- When
- Every day
- Estimated price
- €100–310
- Website
- ryanair.com
Flights from Brussels South Charleroi Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €30–200
- Website
- ita-airways.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- €70–290
Flights from Brussels Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €65–180
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €85–240
Flights from Paris Charles De Gaulle Airport to Milan Linate Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €80–250
- Website
- easyjet.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 23m
- When
- Every day
- Estimated price
- €35–170
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €60–250
Flights from Paris Charles De Gaulle Airport to Milan Linate Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €55–230
- Website
- klm.com
Flights from Brussels Airport to Milan Linate Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 3h 35m
- When
- Saturday and Sunday
- Estimated price
- €55–300
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 38m
- When
- Every day
- Estimated price
- €60–360
- Website
- brusselsairlines.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 28m
- When
- Every day
- Estimated price
- €70–290
Flights from Brussels Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 30m
- When
- Every day
- Estimated price
- €65–180
Flights from Paris Charles De Gaulle Airport to Milan Linate Airport via Brussels Airport
- Ave. Duration
- 3h 25m
- When
- Wednesday, Thursday, and Saturday
- Estimated price
- €140–330
- Website
- airfrance.com
Flights from Paris Charles De Gaulle Airport to Milan Linate Airport
- Ave. Duration
- 1h 31m
- When
- Every day
- Estimated price
- €45–290
- Website
- swiss.com
Flights from Brussels Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €75–250
- Phone
- +32 70 79 79 79
- Website
- Belgian Railways
Train from Ath to Brussels Airport-Zaventem
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- €11–23
- Website
- Belgian Railways
Train from Ath to Bruxelles-Midi
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- €8–18
- Website
- Belgian Railways
Train from Ath to Brussels-Nord
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €9–19
- Website
- Belgian Railways
Train from Ath to Brussels Airport-Zaventem
- Ave. Duration
- 1h 16m
- Frequency
- Hourly
- Estimated price
- €11–23
- Website
- Belgian Railways
Train from Mons to Charleroi-Central
- Ave. Duration
- 32 min
- Frequency
- Every 30 minutes
- Estimated price
- €6–14
- Website
- Belgian Railways
Train from Ath to Bruxelles-Midi
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- €8–18
- Website
- Belgian Railways
Train from Ath to Bruxelles-Midi
- Ave. Duration
- 45 min
- Frequency
- Hourly
- Estimated price
- €8–18
- Website
- Belgian Railways
- Phone
- +44 (0)3432 186 186
- Website
- Eurostar
Train from Brussel-Zuid / Bruxelles-Midi to Chambery Challes Les Eaux
- Ave. Duration
- 4h 29m
- Frequency
- 5 times a week
- Estimated price
- €240–410
- Website
- Eurostar
Train from Brussel-Zuid / Bruxelles-Midi to Schiphol Airport
- Ave. Duration
- 1h 40m
- Frequency
- Hourly
- Estimated price
- €55–100
- Website
- Eurostar
Train from Brussel-Zuid / Bruxelles-Midi to Aeroport Cdg2 Tgv Roissy
- Ave. Duration
- 1h 19m
- Frequency
- Once daily
- Estimated price
- €90–160
- Website
- Eurostar
- Phone
- +39.06.5210550
- Website
- Trenitalia
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 21m
- Frequency
- 4 times a day
- Estimated price
- €40–70
- Website
- Trenitalia
- Phone
- +39 02 7249 4494
- [email protected]
- Website
- Trenord
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- Trenord
- Phone
- +33 1 84 94 36 35
- Website
- Oui.SNCF
Train from Mons to Charleroi-Central
- Ave. Duration
- 32 min
- Frequency
- Hourly
- Estimated price
- €6–14
- Website
- Oui.SNCF
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Brussel-Zuid / Bruxelles-Midi to Aeroport Cdg2 Tgv Roissy
- Ave. Duration
- 1h 43m
- Frequency
- Hourly
- Estimated price
- €60–100
- Website
- TGV inOui
- Phone
- +393293958604
- [email protected]
- Website
- pistoia-viaggi.it
Bus from Brussels-North Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 13h 33m
- Frequency
- Once a week
- Schedules at
- pistoia-viaggi.it
- [email protected]
- Website
- TERRAVISION
Bus from Milan Bergamo Orio al Serio Airport to Piazza Luigi di Savoia
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- TERRAVISION
- Phone
- +39 0362 185 0590
- [email protected]
- Website
- Onebus
Bus from Mons - Place Léopold to Milano - Famagosta
- Ave. Duration
- 13h 54m
- Frequency
- Once a week
- Website
- Onebus
- Phone
- +32 70 79 79 79
- Website
- Belgian Railways
Bus from Ath to Bruxelles-Midi
- Ave. Duration
- 1h 23m
- Frequency
- 5 times a week
- Website
- Belgian Railways
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Brussels - Midi Train Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 12h 50m
- Frequency
- Twice daily
- Estimated price
- €80–150
- Website
- BlaBlaCar Bus
Want to know more about travelling around Italy
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Italy Travel Guides
Read the travel guide
Getting to Milan from the airport
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
More Questions & Answers
Rome to Milan bus services, operated by Onebus, arrive at Milano - Famagosta station.
Rome to Milan train services, operated by Belgian Railways (NMBS/SNCB), arrive at Bruxelles-Midi station.
Yes, the driving distance between Rome to Milan is 913 km. It takes approximately 9h 32m to drive from Rome to Milan.
There are 14400+ hotels available in Milan.












































