There are 12 ways to get from Milan to Utrecht by plane, train, train (Trenitalia, Eurostar), bus, car, train (Trenitalia), 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)plane LIN - AMS
- Take the train from Schiphol Airport Train Station to Utrecht Centraaltrain
5h 8m€68–226Fly Milan Linate Airport to Brussels Airport, train
cheapest- Fly from Milan Linate Airport (LIN) to Brussels Airport (BRU)plane LIN - BRU
- Take the train from Brussels Airport-Zaventem to Bredatrain
- Take the train from Breda to 's-Hertogenboschtrain
- Take the train from 's-Hertogenbosch to Utrecht Centraaltrain
6h 45m€64–207Train
- Take the train from Milano Centrale to Chambery Challes Les Eauxtrain Fr
- Take the train from Chambery Challes Les Eaux to Rotterdam Centraaltrain
- Take the train from Rotterdam Alexander to Utrecht Centraaltrain
11h 13m€330–578Bus, train
- Take the bus from Milan to Eindhoven Stationbus FlixBus N473
- Take the train from Eindhoven to Utrecht Centraaltrain Intercity
16h 48m€75–143Drive 998.1 km
- Drive from Milan to Utrechtcar 998.1 km
10h 31m€179–258Train to Milano Malpensa Airport, fly to Amsterdam Airport Schiphol, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Amsterdam Airport Schiphol (AMS)plane MXP - AMS
- Take the train from Schiphol Airport Train Station to Utrecht Centraaltrain
5h 44m€65–229Bus to Il Caravaggio International Airport, fly to Eindhoven Airport, train
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Eindhoven Airport (EIN)plane BGY - EIN
- Take the train from Eindhoven to Utrecht Centraaltrain
5h 57m€65–220Bus to Il Caravaggio International Airport, fly to Weeze Airport, bus, train
- Take the bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airportbus
- Fly from Il Caravaggio International Airport (BGY) to Weeze Airport (NRN)plane BGY - NRN
- Take the bus from Weeze Airport Terminal 1 to Nijmegen Centraal Stationbus
- Take the train from Nijmegen to Utrecht Centraaltrain
6h 57m€64–266Fly Milan Linate Airport to Düsseldorf International Airport, train
- Fly from Milan Linate Airport (LIN) to Düsseldorf International Airport (DUS)plane LIN - DUS
- Take the train from Düsseldorf Hbf to Utrecht Centraaltrain
6h 53m€93–276Train via Freiburg im Breisgau
- Take the train from Milano Centrale to Freiburg(Breisgau) Hbftrain Ec
- Take the train from Freiburg Hauptbahnhof to Utrecht Centraaltrain 43N
14h 52m€216–425Drive, car train
- Drive from Milan to Innsbruck Hauptbahnhofcar
- Take the car train from Innsbruck Hauptbahnhof to Düsseldorf Hbfcartrain
- Drive from Düsseldorf Hbf to Utrechtcar
16h 44m€188–1,142Bus
- Take the bus from Milano, Autostazione Lampugnano to Amsterdam City Center - Sloterdijkbus BlaBlaCar Bus
- Take the bus from Amsterdam Sloterdijk to Utrecht Leidsche Rijn Centrumbus 068 / ...
17h 58m€78–147
Milan to Utrecht by train
Questions & Answers
The cheapest way to get from Milan to Utrecht is to bus which costs €75 - €150 and takes 17h 58m.
The fastest way to get from Milan to Utrecht is to fly and train which takes 5h 8m and costs €65 - €230.
No, there is no direct bus from Milan to Utrecht. However, there are services departing from Milano, Autostazione Lampugnano and arriving at Utrecht, CS Centrumzijde via Amsterdam Sloterdijk and Utrecht, Station Leidsche Rijn. The journey, including transfers, takes approximately 17h 58m.
No, there is no direct train from Milan to Utrecht. However, there are services departing from Milano Centrale and arriving at Utrecht Centraal via Chambery Challes Les Eaux, Rotterdam Centraal and Rotterdam Alexander. The journey, including transfers, takes approximately 11h 13m.
The distance between Milan and Utrecht is 892 km. The road distance is 998.1 km.
The best way to get from Milan to Utrecht without a car is to train which takes 11h 13m and costs €330 - €600.
It takes approximately 5h 8m to get from Milan to Utrecht, including transfers.
Milan to Utrecht bus services, operated by BlaBlaCar Bus, depart from Milano, Autostazione Lampugnano station.
Milan to Utrecht train services, operated by Trenitalia, depart from Milano Centrale station.
The best way to get from Milan to Utrecht is to train which takes 11h 13m and costs €330 - €600. Alternatively, you can bus, which costs €75 - €150 and takes 17h 58m.
What companies run services between Milan, Italy and Utrecht, Netherlands?
You can take a train from Milano Centrale to Utrecht Centraal via Chambery Challes Les Eaux, Rotterdam Centraal, and Rotterdam Alexander in around 11h 13m. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Utrecht, CS Centrumzijde via Amsterdam Sloterdijk, Utrecht Leidsche Rijn Centrum, and Utrecht, Station Leidsche Rijn in around 17h 58m.
- Website
- easyjet.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 54m
- When
- Every day
- Estimated price
- €55–190
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 56m
- When
- Every day
- Estimated price
- €50–200
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €30–130
- Website
- lufthansa.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Munich
- Ave. Duration
- 3h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €100–260
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- €100–260
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 4h 15m
- When
- Every day
- Estimated price
- €100–480
Flights from Milan Linate Airport to Brussels Airport via Frankfurt
- Ave. Duration
- 3h 32m
- When
- Every day
- Estimated price
- €80–330
Flights from Milan Linate Airport to Brussels Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €65–170
Flights from Milan Linate Airport to Düsseldorf International Airport via Munich
- Ave. Duration
- 3h 41m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €90–650
Flights from Milan Linate Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 3h 21m
- When
- Every day
- Estimated price
- €90–650
- Website
- ita-airways.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- €75–310
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 34m
- When
- Every day
- Estimated price
- €55–210
Flights from Milan Linate Airport to Düsseldorf International Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €65–200
Flights from Milan Linate Airport to Düsseldorf International Airport via Munich
- Ave. Duration
- 3h 5m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €90–650
Flights from Milan Linate Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 3h 35m
- When
- Every day
- Estimated price
- €90–650
- Website
- klm.com
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 49m
- When
- Every day
- Estimated price
- €45–290
Flights from Milan Linate Airport to Brussels Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- €50–300
- Website
- ryanair.com
Flights from Il Caravaggio International Airport to Eindhoven Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €45–160
Flights from Il Caravaggio International Airport to Eindhoven Airport via London Stansted
- Ave. Duration
- 4h
- When
- Saturday
- Estimated price
- €45–160
Flights from Il Caravaggio International Airport to Weeze Airport
- Ave. Duration
- 1h 35m
- When
- Monday, Tuesday, Wednesday, Thursday, Saturday, and Sunday
- Estimated price
- €45–210
Flights from Il Caravaggio International Airport to Weeze Airport via Zagreb
- Ave. Duration
- 3h 55m
- When
- Thursday
- Estimated price
- €55–230
- Website
- brusselsairlines.com
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 34m
- When
- Every day
- Estimated price
- €55–210
- Website
- airfrance.com
Flights from Milan Linate Airport to Düsseldorf International Airport via Paris Charles de Gaulle
- Ave. Duration
- 3h 45m
- When
- Every day
- Estimated price
- €50–310
- Website
- swiss.com
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Zurich
- Ave. Duration
- 3h 57m
- When
- Every day
- Estimated price
- €70–270
- Website
- eurowings.com
Flights from Milan Linate Airport to Düsseldorf International Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €65–200
- Website
- airdolomiti.it
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 4h
- When
- Every day
- Estimated price
- €100–480
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Schiphol Airport Train Station to Utrecht Centraal
- Ave. Duration
- 1h 5m
- Frequency
- Every 15 minutes
- Estimated price
- €6–14
- Website
- https://www.ns.nl/en
Train from Rotterdam Alexander to Utrecht Centraal
- Ave. Duration
- 29 min
- Frequency
- Every 20 minutes
- Estimated price
- €5–12
- Website
- https://www.ns.nl/en
Train from Eindhoven to Utrecht Centraal
- Ave. Duration
- 50 min
- Frequency
- Every 15 minutes
- Estimated price
- €8–21
- Website
- https://www.ns.nl/en
Train from Breda to 's-Hertogenbosch
- Ave. Duration
- 36 min
- Frequency
- Every 20 minutes
- Estimated price
- €4–12
- Website
- https://www.ns.nl/en
Train from 's-Hertogenbosch to Utrecht Centraal
- Ave. Duration
- 42 min
- Frequency
- Every 15 minutes
- Estimated price
- €5–13
- Website
- https://www.ns.nl/en
Train from Nijmegen to Utrecht Centraal
- Ave. Duration
- 53 min
- Frequency
- Every 20 minutes
- Estimated price
- €8–20
- Website
- https://www.ns.nl/en
Train from Düsseldorf Hbf to Utrecht Centraal
- Ave. Duration
- 1h 46m
- Frequency
- Every 4 hours
- Estimated price
- €19–50
- Website
- https://www.ns.nl/en
- Phone
- 0800-0232 545
- Website
- arriva.nl
Train from Schiphol Airport Train Station to Utrecht Centraal
- Ave. Duration
- 46 min
- Frequency
- Once a week
- Estimated price
- €12–14
- Website
- https://www.arriva.nl/en/
- 2nd Class
- €12–14
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
Train from 's-Hertogenbosch to Utrecht Centraal
- Ave. Duration
- 26 min
- Frequency
- Once a week
- Estimated price
- €11–13
- Website
- https://www.arriva.nl/en/
- 2nd Class
- €11–13
- Phone
- +39.06.5210550
- Website
- trenitalia.com
Train from Milano Centrale to Chambery Challes Les Eaux
- Ave. Duration
- 3h 27m
- Frequency
- Twice daily
- Estimated price
- €40–75
- Website
- https://www.trenitalia.com/en.html
- Phone
- +44 343 218 6186
- Website
- eurostar.com
Train from Chambery Challes Les Eaux to Rotterdam Centraal
- Ave. Duration
- 5h 51m
- Frequency
- Once a week
- Estimated price
- €280–490
- Website
- https://www.eurostar.com/rw-en
- Phone
- +39 02 7249 4494
- my-link@trenord.it
- Website
- trenord.it
Train from Milano Porta Garibaldi to Malpensa Aeroporto T1
- Ave. Duration
- 43 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 Brussels Airport-Zaventem to Breda
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- €23–40
- Website
- https://www.belgiantrain.be/en
- Phone
- +39 06 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Freiburg(Breisgau) Hbf
- Ave. Duration
- 5h 12m
- Frequency
- Once daily
- Estimated price
- €85–140
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €95–140
- 2nd Class
- €85–120
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Freiburg Hauptbahnhof to Utrecht Centraal
- Ave. Duration
- 8h 40m
- Frequency
- 4 times a week
- Estimated price
- €130–290
- Website
- https://int.bahn.de/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
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Milan to Eindhoven Station
- Ave. Duration
- 14h 35m
- Frequency
- Once daily
- Estimated price
- €65–120
- Website
- https://www.flixbus.co.uk
Bus from Amsterdam Sloterdijk to Utrecht Leidsche Rijn Centrum
- Ave. Duration
- 40 min
- Frequency
- Every 3 hours
- Estimated price
- €2–5
- Website
- https://www.flixbus.co.uk
- customerservices@terravision.eu
- Website
- terravision.eu
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €5–25
- Website
- https://www.terravision.eu/
- info@flibco.com
- Website
- flibco.com
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 50 min
- Frequency
- Every 30 minutes
- Estimated price
- €8–21
- Website
- https://www.flibco.com/en
- Phone
- +39 02 3008 9000
- mail@autostradale.it
- Website
- autostradale.it
Bus from Piazza Luigi di Savoia to Milan Bergamo Orio al Serio Airport
- Ave. Duration
- 1h
- Frequency
- Every 30 minutes
- Estimated price
- €4–8
- Website
- https://autostradale.it/?lang=en-GB
- Phone
- 01806 607085
- dbregiobusnrw@deutschebahn.com
- Website
- bahn.de
Bus from Weeze Airport Terminal 1 to Nijmegen Centraal Station
- Ave. Duration
- 1h 7m
- Frequency
- Hourly
- Estimated price
- €7–11
- Schedules at
- bahn.de
- Phone
- +31-383394700
- Website
- transdev.nl
Bus from Weeze Airport Terminal 1 to Nijmegen Centraal Station
- Ave. Duration
- 1h 7m
- Frequency
- Every 2 hours
- Estimated price
- €9–11
- Website
- Transdev Netherlands
- Phone
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Amsterdam City Center - Sloterdijk
- Ave. Duration
- 16h 5m
- Frequency
- 3 times a day
- Estimated price
- €70–140
- Website
- https://www.blablacar.co.uk/bus
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
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
More Questions & Answers
Milan to Utrecht bus services, operated by BlaBlaCar Bus, arrive at Amsterdam City Center - Sloterdijk station.
Milan to Utrecht train services, operated by Trenitalia, arrive at Chambery Challes Les Eaux station.
Yes, the driving distance between Milan to Utrecht is 998 km. It takes approximately 10h 31m to drive from Milan to Utrecht.
Book your Milan to Utrecht train tickets online with Omio.
There are 603+ hotels available in Utrecht.

































































