There are 10 ways to get from Rotterdam to Milan by train, plane, train (Eurostar, Trenitalia), bus, night train, 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 Amsterdam Airport Schiphol, fly to Milan Linate Airport
best- Take the train from Rotterdam Centraal to Schiphol Airporttrain
- Fly from Amsterdam Airport Schiphol (AMS) to Milan Linate Airport (LIN)plane AMS - LIN
4h 14m€61–250Bus
cheapest- Take the bus from Rotterdam Central Station to Milano, Autostazione Lampugnanobus N846
15h 30m€45–95Train
- Take the train from Rotterdam Centraal to Chambery Challes Les Eauxtrain Thalys
- Take the train from Chambery Challes Les Eaux to Milano Centraletrain Fr
10h 3m€246–495Train, night train
- Take the train from Rotterdam Centraal to Eindhoventrain
- Take the night train from Eindhoven Centraal to Zuerich Hbnighttrain Nj
- Take the train from Zürich HB to Como S. Giovannitrain Ec
- Take the train from Como S.Giovanni to Milano Porta Garibalditrain S11
17h 15m€211–599Train to Amsterdam Airport Schiphol, fly to Milano Malpensa Airport, train
- Take the train from Rotterdam Centraal to Schiphol Airporttrain
- Fly from Amsterdam Airport Schiphol (AMS) to Milano Malpensa Airport (MXP)plane AMS - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
5h 3m€69–263Train to Brussels Airport, fly to Milan Linate Airport
- Take the train from Rotterdam Centraal to Antwerpen-Centraaltrain
- Fly from Brussels Airport (BRU) to Milan Linate Airport (LIN)plane BRU - LIN
4h 55m€52–237Train to Brussels Airport, fly to Milano Malpensa Airport, train
- Take the train from Rotterdam Centraal to Antwerpen-Centraaltrain
- Fly from Brussels Airport (BRU) to Milano Malpensa Airport (MXP)plane BRU - MXP
- Take the train from Malpensa Aeroporto T1 to Milano Porta Garibalditrain
5h 43m€80–260Train, train to Eindhoven Airport, fly to Il Caravaggio International Airport
- Take the train from Rotterdam Centraal to Bredatrain
- Take the train from Breda to Eindhoventrain
- Fly from Eindhoven Airport (EIN) to Il Caravaggio International Airport (BGY)plane EIN - BGY
6h 22m€69–246Bus via Lugano
- Take the bus from Rotterdam to Luganobus BlaBlaCar Bus
- Take the bus from Lugano to Milano, Autostazione Lampugnanobus 076 / ...
16h 36m€68–101Drive 994.9 km
- Drive from Rotterdam to Milancar 994.9 km
10h 32m€174–251
Rotterdam to Milan by train
Questions & Answers
The cheapest way to get from Rotterdam to Milan is to bus which costs €45 - €95 and takes 15h 30m.
The fastest way to get from Rotterdam to Milan is to train and fly which takes 4h 14m and costs €60 - €250.
Yes, there is a direct bus departing from Rotterdam Central Station station and arriving at Milano, Autostazione Lampugnano. Services depart once daily, and operate every day. The journey takes approximately 15h 30m.
No, there is no direct train from Rotterdam to Milan. However, there are services departing from Rotterdam Centraal and arriving at Milano Centrale via Chambery Challes Les Eaux. The journey, including transfers, takes approximately 10h 3m.
The distance between Rotterdam and Milan is 889 km. The road distance is 994.9 km.
The best way to get from Rotterdam to Milan without a car is to train which takes 10h 3m and costs €240 - €500.
It takes approximately 4h 14m to get from Rotterdam to Milan, including transfers.
Rotterdam to Milan bus services, operated by FlixBus, depart from Rotterdam Central Station.
Rotterdam to Milan train services, operated by Eurostar, depart from Rotterdam Centraal station.
The best way to get from Rotterdam to Milan is to train which takes 10h 3m and costs €240 - €500. Alternatively, you can bus, which costs €45 - €95 and takes 15h 30m.
What companies run services between Rotterdam, Netherlands and Milan, Italy?
You can take a train from Rotterdam Centraal to Milano Centrale via Chambery Challes Les Eaux in around 10h 3m. Alternatively, FlixBus operates a bus from Rotterdam Central Station to Milano, Autostazione Lampugnano 4 times a week. Tickets cost €55–95 and the journey takes 15h 30m. Two other operators also service this route.
- Website
- lufthansa.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 36m
- When
- Every day
- Estimated price
- €100–410
Flights from Amsterdam Airport Schiphol to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- €85–350
Flights from Brussels Airport to Milan Linate Airport via Frankfurt
- Ave. Duration
- 3h 15m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €75–290
Flights from Brussels Airport to Milano Malpensa Airport via Frankfurt
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €60–260
Flights from Brussels Airport to Milano Malpensa Airport via Munich
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €65–260
- Website
- easyjet.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 37m
- When
- Every day
- Estimated price
- €50–170
Flights from Amsterdam Airport Schiphol to Milano Malpensa Airport
- Ave. Duration
- 1h 41m
- When
- Every day
- Estimated price
- €40–190
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €30–130
- Website
- ita-airways.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €55–250
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €50–230
Flights from Brussels Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €55–140
- Website
- klm.com
Flights from Amsterdam Airport Schiphol to Milan Linate Airport
- Ave. Duration
- 1h 39m
- When
- Every day
- Estimated price
- €55–350
Flights from Brussels Airport to Milan Linate Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 3h 47m
- When
- Every day
- Estimated price
- €45–280
- Website
- brusselsairlines.com
Flights from Brussels Airport to Milan Linate Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €50–230
Flights from Brussels Airport to Milano Malpensa Airport
- Ave. Duration
- 1h 27m
- When
- Every day
- Estimated price
- €55–140
- Website
- ryanair.com
Flights from Eindhoven Airport to Il Caravaggio International Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €40–170
Flights from Eindhoven Airport to Il Caravaggio International Airport via London Stansted
- Ave. Duration
- 4h 15m
- When
- Tuesday, Friday, and Saturday
- Estimated price
- €40–170
Flights from Eindhoven Airport to Il Caravaggio International Airport via Vienna
- Ave. Duration
- 4h 20m
- When
- Sunday
- Estimated price
- €40–170
- Website
- swiss.com
Flights from Amsterdam Airport Schiphol to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 55m
- When
- Every day
- Estimated price
- €80–320
Flights from Brussels Airport to Milano Malpensa Airport via Zurich
- Ave. Duration
- 3h 22m
- When
- Every day
- Estimated price
- €55–140
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Rotterdam Centraal to Schiphol Airport
- Ave. Duration
- 26 min
- Frequency
- Every 15 minutes
- Estimated price
- €10–28
- Website
- https://www.ns.nl/en
- 2nd Class
- €10–15
- 1st Class
- €16–28
Train from Rotterdam Centraal to Eindhoven
- Ave. Duration
- 1h 2m
- Frequency
- Every 30 minutes
- Estimated price
- €17–55
- Website
- https://www.ns.nl/en
- 2nd Class
- €17–26
- 1st Class
- €30–55
Night train from Eindhoven Centraal to Zuerich Hb
- Ave. Duration
- 10h 19m
- Frequency
- 5 times a week
- Estimated price
- €100–370
- Website
- https://www.ns.nl/en
- 2nd Class
- €100–160
- 1st Class
- €220–370
Train from Rotterdam Centraal to Antwerpen-Centraal
- Ave. Duration
- 32 min
- Frequency
- Hourly
- Estimated price
- €19–23
- Website
- https://www.ns.nl/en
Train from Rotterdam Centraal to Breda
- Ave. Duration
- 22 min
- Frequency
- Every 20 minutes
- Estimated price
- €13
- Website
- https://www.ns.nl/en
Train from Breda to Eindhoven
- Ave. Duration
- 39 min
- Frequency
- Every 30 minutes
- Estimated price
- €15
- Website
- https://www.ns.nl/en
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from Rotterdam Centraal to Schiphol Airport
- Ave. Duration
- 26 min
- Frequency
- Hourly
- Estimated price
- €26–60
- Website
- https://www.eurostar.com/rw-en
- Standard
- €26–40
- Comfort
- €28–40
- Premium
- €45–60
Train from Rotterdam Centraal to Chambery Challes Les Eaux
- Ave. Duration
- 5h 42m
- Frequency
- Twice a week
- Estimated price
- €190–370
- Website
- https://www.eurostar.com/rw-en
- Standard
- €190–270
- Comfort
- €220–310
- Premium
- €280–370
Train from Rotterdam Centraal to Antwerpen-Centraal
- Ave. Duration
- 32 min
- Frequency
- Hourly
- Estimated price
- €40–70
- Website
- https://www.eurostar.com/rw-en
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Chambery Challes Les Eaux to Milano Centrale
- Ave. Duration
- 3h 21m
- Frequency
- Twice daily
- Estimated price
- €55–130
- Website
- https://www.trenitalia.com/en.html
- Phone
- +41 848 446 688
- Website
- sbb.ch
Train from Zürich HB to Como S. Giovanni
- Ave. Duration
- 2h 35m
- Frequency
- Every 2 hours
- Estimated price
- €70–130
- Website
- https://www.sbb.ch/en
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 2m
- Frequency
- Once daily
- Estimated price
- €23–45
- Website
- https://www.sbb.ch/en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Como S.Giovanni to Milano Porta Garibaldi
- Ave. Duration
- 1h 1m
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
Train from Malpensa Aeroporto T1 to Milano Porta Garibaldi
- Ave. Duration
- 44 min
- Frequency
- Every 30 minutes
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +32 70 79 79 79
- Website
- belgiantrain.be
Train from Rotterdam Centraal to Antwerpen-Centraal
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €9–14
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €9–14
- 1st Class
- €15–22
Train from Rotterdam Centraal to Breda
- Ave. Duration
- 25 min
- Frequency
- Hourly
- Estimated price
- €6–9
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €6–9
- 1st Class
- €9–14
- Phone
- +31302035833
- info@europeansleeper.eu
- Website
- europeansleeper.eu
Train from Rotterdam Centraal to Antwerpen-Centraal
- Ave. Duration
- 1h 12m
- Frequency
- 4 times a week
- Estimated price
- €25–30
- Website
- https://www.europeansleeper.eu/
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Rotterdam Central Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 15h 30m
- Frequency
- 4 times a week
- Estimated price
- €55–95
- Website
- https://www.flixbus.co.uk
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 10m
- Frequency
- Every 4 hours
- Estimated price
- €8–17
- Website
- https://www.flixbus.co.uk
- Website
- global.flixbus.com
Bus from Rotterdam Central Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 15h 30m
- Frequency
- 4 times a week
- Schedules at
- global.flixbus.com
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 35m
- Frequency
- Every 4 hours
- Schedules at
- global.flixbus.com
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Rotterdam Central Station to Milano, Autostazione Lampugnano
- Ave. Duration
- 16h
- Frequency
- 4 times a week
- Estimated price
- €45–80
- Website
- https://www.blablacar.co.uk/bus
Bus from Rotterdam to Lugano
- Ave. Duration
- 14h 40m
- Frequency
- 4 times a week
- Estimated price
- €60–85
- Website
- https://www.blablacar.co.uk/bus
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 10m
- Frequency
- Once daily
- Estimated price
- €8–14
- Website
- https://www.blablacar.co.uk/bus
- Phone
- +39 06 88 93 82 32
- Website
- itabus.it
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 40m
- Frequency
- Once daily
- Estimated price
- €6–14
- Website
- https://www.itabus.it/en/home
- Phone
- +420 222 222 221
- info@regiojet.cz
- Website
- regiojet.com
Bus from Lugano to Milano, Autostazione Lampugnano
- Ave. Duration
- 1h 20m
- Frequency
- Once a week
- Estimated price
- €10
- Website
- https://regiojet.com/
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
Rotterdam to Milan bus services, operated by FlixBus, arrive at Milano, Autostazione Lampugnano station.
Rotterdam to Milan train services, operated by Eurostar, arrive at Chambery Challes Les Eaux station.
Yes, the driving distance between Rotterdam to Milan is 995 km. It takes approximately 10h 32m to drive from Rotterdam to Milan.
Book your Rotterdam to Milan bus tickets online with Omio and FlixBus.
There are 14099+ hotels available in Milan.









































