There are 11 ways to get from Milan to Utrecht by plane, train, train (Trenitalia), bus, car, or car train
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly Milan Linate Airport to Amsterdam Airport Schiphol, train
best- Fly from Milan Linate Airport (LIN) to Amsterdam Airport Schiphol (AMS)LIN - AMS
- Take the train from Schiphol Airport to Utrecht Centraal
4h 42m€65–215Bus
cheapest- Take the bus from Milano, Autostazione Lampugnano to Rotterdam Central StationN846
- Take the bus from Rotterdam Central Station to Utrecht Central StationN31
17h 30m€57–148Train
- Take the train from Milano Centrale to Mannheim HbfEc
- Take the train from Mannheim Hbf to Utrecht CentraalIce
11h 40m€193–417Drive 998.2 km
- Drive from Milan to Utrecht998.2 km
10h 28m€175–253Train to Milano Malpensa Airport, fly to Amsterdam Airport Schiphol, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Fly from Milano Malpensa Airport (MXP) to Amsterdam Airport Schiphol (AMS)MXP - AMS
- Take the train from Schiphol Airport to Utrecht Centraal
5h 21m€67–218Bus to Il Caravaggio International Airport, fly to Eindhoven Airport, train
- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Fly from Il Caravaggio International Airport (BGY) to Eindhoven Airport (EIN)BGY - EIN
- Take the train from Eindhoven to Utrecht Centraal
6h€71–233Fly Milan Linate Airport to Brussels Airport, train
- Fly from Milan Linate Airport (LIN) to Brussels Airport (BRU)LIN - BRU
- Take the train from Antwerpen-Centraal to Schiphol Airport
- Take the train from Schiphol Airport to Utrecht Centraal
6h 26m€78–288Fly Milan Linate Airport to Düsseldorf International Airport, train
- Fly from Milan Linate Airport (LIN) to Düsseldorf International Airport (DUS)LIN - DUS
- Take the train from Düsseldorf Hbf to Utrecht Centraal
6h 58m€106–326Train via Basel
- Take the train from Milano Centrale to Basel SbbEc
- Take the train from Basel SBB to Utrecht Centraal43N
14h 53m€229–347Drive, car train
- Drive from Milan to Innsbruck Hauptbahnhof
- Take the car train from Innsbruck Hauptbahnhof to Düsseldorf Hbf
- Drive from Düsseldorf Hbf to Utrecht
16h 41m€187–1,140Bus, train
- Take the bus from Milano, Autostazione Lampugnano to Brussels-North Station
- Take the train from Brussels-Nord to BredaEc
- Take the bus from Breda, Centraal Station to Utrecht, CS Jaarbeurszijde501 / ...
20h 1m
Milan to Utrecht by train
Questions & Answers
The cheapest way to get from Milan to Utrecht is to bus which costs €55 - €150 and takes 17h 30m.
The fastest way to get from Milan to Utrecht is to fly and train which takes 4h 42m and costs €65 - €220.
No, there is no direct bus from Milan to Utrecht station. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Utrecht Central Station via Rotterdam Central Station. The journey, including transfers, takes approximately 17h 30m.
No, there is no direct train from Milan to Utrecht. However, there are services departing from Milano Centrale and arriving at Utrecht Centraal via Mannheim Hbf. The journey, including transfers, takes approximately 11h 40m.
The distance between Milan and Utrecht is 881 km. The road distance is 998.2 km.
The best way to get from Milan to Utrecht without a car is to train which takes 11h 40m and costs €190 - €420.
It takes approximately 4h 42m to get from Milan to Utrecht, including transfers.
Milan to Utrecht bus services, operated by FlixBus, depart from Milano, Autostazione Lampugnano station.
Milan to Utrecht train services, operated by Trenitalia EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Utrecht is to train which takes 11h 40m and costs €190 - €420. Alternatively, you can bus, which costs €55 - €150 and takes 17h 30m.
What companies run services between Milan, Italy and Utrecht, Netherlands?
You can take a train from Milano Centrale to Utrecht Centraal via Mannheim Hbf in around 11h 40m. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Utrecht Central Station via Rotterdam Central Station in around 17h 30m.
- Website
- lufthansa.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- €100–410
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 56m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €70–320
Flights from Milan Linate Airport to Brussels Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €65–270
Flights from Milan Linate Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 3h 28m
- When
- Every day
- Estimated price
- €100–400
Flights from Milan Linate Airport to Düsseldorf International Airport via Munich
- Ave. Duration
- 3h 12m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €100–280
- Website
- easyjet.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 58m
- When
- Every day
- Estimated price
- €55–180
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 2m
- When
- Every day
- Estimated price
- €50–170
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 32m
- When
- Every day
- Estimated price
- €35–130
- Website
- ita-airways.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- €55–220
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €50–270
Flights from Milan Linate Airport to Düsseldorf International Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €65–190
Flights from Milan Linate Airport to Düsseldorf International Airport via Munich
- Ave. Duration
- 3h 5m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €100–280
Flights from Milan Linate Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 4h 10m
- When
- Monday, Tuesday, Thursday, and Friday
- Estimated price
- €100–280
- Website
- klm.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 52m
- When
- Every day
- Estimated price
- €55–310
Flights from Milan Linate Airport to Brussels Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- €60–330
- Website
- brusselsairlines.com
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €50–270
- Website
- ryanair.com
Flights from Il Caravaggio International Airport to Eindhoven Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €45–180
Flights from Il Caravaggio International Airport to Eindhoven Airport via London Stansted
- Ave. Duration
- 4h 10m
- When
- Friday
- Estimated price
- €45–180
- Website
- airfrance.com
Flights from Milan Linate Airport to Düsseldorf International Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- €60–340
- Website
- airdolomiti.it
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 50m
- When
- Monday, Tuesday, Thursday, Saturday, and Sunday
- Estimated price
- €100–330
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Schiphol Airport to Utrecht Centraal
- Ave. Duration
- 33 min
- Frequency
- Every 15 minutes
- Estimated price
- €8–23
- Website
- https://www.ns.nl/en
- 2nd Class
- €8–13
- 1st Class
- €14–23
Train from Mannheim Hbf to Utrecht Centraal
- Ave. Duration
- 3h 52m
- Frequency
- Once daily
- Estimated price
- €70–240
- Website
- https://www.ns.nl/en
- 2nd Class
- €70–110
- 1st Class
- €140–240
Train from Eindhoven to Utrecht Centraal
- Ave. Duration
- 50 min
- Frequency
- Every 15 minutes
- Estimated price
- €18
- Website
- https://www.ns.nl/en
Train from Antwerpen-Centraal to Schiphol Airport
- Ave. Duration
- 1h 3m
- Frequency
- Hourly
- Estimated price
- €22–40
- Website
- https://www.ns.nl/en
Train from Düsseldorf Hbf to Utrecht Centraal
- Ave. Duration
- 1h 46m
- Frequency
- Every 4 hours
- Estimated price
- €28–95
- Website
- https://www.ns.nl/en
- 2nd Class
- €28–45
- 1st Class
- €55–95
- Phone
- 0800-0232 545
- Website
- arriva.nl
Train from Schiphol Airport to Utrecht Centraal
- Ave. Duration
- 46 min
- Frequency
- Once a week
- Estimated price
- €10–12
- Website
- https://www.arriva.nl/en/
- 2nd Class
- €10–12
Train from Eindhoven to Utrecht Centraal
- Ave. Duration
- 46 min
- Frequency
- Once a week
- Estimated price
- €17–20
- Website
- https://www.arriva.nl/en/
- 2nd Class
- €17–20
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Mannheim Hbf
- Ave. Duration
- 6h 48m
- Frequency
- Once daily
- Estimated price
- €120–180
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €120–180
- 2nd Class
- €120–160
Train from Milano Centrale to Basel Sbb
- Ave. Duration
- 4h 22m
- Frequency
- 5 times a day
- Estimated price
- €75–130
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €90–130
- 2nd Class
- €75–110
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €4–6
- Website
- https://www.trenord.it/en/
- Phone
- +39 02-72494949
- Website
- malpensaexpress.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 41 min
- Frequency
- Hourly
- Estimated price
- €15
- Website
- https://www.malpensaexpress.it/en/
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from Antwerpen-Centraal to Schiphol Airport
- Ave. Duration
- 1h
- Frequency
- Hourly
- Estimated price
- €40–100
- Website
- https://www.eurostar.com/rw-en
- Phone
- +43 5 1717
- Website
- konzern.oebb.at
Train from Basel SBB to Utrecht Centraal
- Ave. Duration
- 9h 31m
- Frequency
- Twice daily
- Estimated price
- €150–220
- Website
- https://konzern.oebb.at/en/
- Phone
- +49 (0) 221 800 20 820
- info@urlaubs-express.de
- Website
- urlaubs-express.de
Car train from Innsbruck Hauptbahnhof to Düsseldorf Hbf
- Ave. Duration
- 10h 45m
- Frequency
- Once daily
- Estimated price
- €95–1,000
- Website
- https://urlaubs-express.de/?lang=en
- Car Singe Bed
- €270–550
- Car Compartment
- €550–1,000
- Phone
- +32 70 79 79 79
- Website
- belgiantrain.be
Train from Brussels-Nord to Breda
- Ave. Duration
- 1h 22m
- Frequency
- Hourly
- Estimated price
- €10–15
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €10–15
- 1st Class
- €16–23
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milano, Autostazione Lampugnano to Rotterdam Central Station
- Ave. Duration
- 15h 40m
- Frequency
- 4 times a week
- Estimated price
- €55–140
- Website
- https://www.flixbus.co.uk
Bus from Rotterdam Central Station to Utrecht Central Station
- Ave. Duration
- 50 min
- Frequency
- 4 times a week
- Estimated price
- €5–9
- Website
- https://www.flixbus.co.uk
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Rotterdam Central Station
- Ave. Duration
- 15h 55m
- Frequency
- 4 times a week
- Estimated price
- €50–130
- Website
- https://www.blablacar.co.uk/bus
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–10
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Bergamo Airport Bus Station
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- €4–17
- Website
- https://autostradale.it/?lang=en-GB
- Standard Rate
- €13–17
- Phone
- +393293958604
- info@pistoiaviaggi.com
- Website
- pistoia-viaggi.it
Bus from Milano, Autostazione Lampugnano to Brussels-North Station
- Ave. Duration
- 16h 33m
- Frequency
- Once a week
- Schedules at
- pistoia-viaggi.it
- Phone
- 0900-9292
- klantenservice@bravo.info
- Website
- bravo.info
Bus from Breda, Centraal Station to Utrecht, CS Jaarbeurszijde
- Ave. Duration
- 1h 14m
- Frequency
- Hourly
- Estimated price
- €13–17
- Website
- https://www.bravo.info/public-transport-brabant
Want to know more about travelling around Netherlands
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
Want to know more about Flixbus?
Read the travel guide
More Questions & Answers
Milan to Utrecht bus services, operated by FlixBus, arrive at Rotterdam Central Station.
Milan to Utrecht train services, operated by Trenitalia EuroCity, arrive at Mannheim Hbf station.
Yes, the driving distance between Milan to Utrecht is 998 km. It takes approximately 10h 28m to drive from Milan to Utrecht.
Book your Milan to Utrecht train tickets online with Omio.
Book your Milan to Utrecht bus tickets online with Omio and FlixBus.
There are 592+ hotels available in Utrecht.





















































