There are 13 ways to get from Milan to Utrecht by bus, plane, train, train (Trenitalia), 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.
Bus to Il Caravaggio International Airport, fly to Eindhoven Airport, train
best- Take the bus from Piazza Luigi di Savoia to Bergamo Airport Bus Stationbus
- Fly from Il Caravaggio International Airport (BGY) to Eindhoven Airport (EIN)plane BGY - EIN
- Take the train from Eindhoven to Utrecht Centraaltrain
6h 1m€61–246Train via Frankfurt am Main
- Take the train from Milano Centrale to Frankfurt(Main)Hbftrain Ec
- Take the train from Frankfurt to Utrecht Centraaltrain Ice / ...
11h 59m€198–403Bus
- Take the bus from Milano, Autostazione Lampugnano to Antwerp - Rooseveltplaatsbus BlaBlaCar Bus
- Take the bus from Antwerp Rooseveltplaats to Utrecht Central Stationbus N800 / ...
16h 10m€67–94Drive 998.1 km
- Drive from Milan to Utrechtcar 998.1 km
10h 31m€175–252Fly Milan Linate Airport to Brussels Airport, train
- 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 57m€70–250Fly Milan Linate Airport to Amsterdam Airport Schiphol, train
- Fly from Milan Linate Airport (LIN) to Amsterdam Airport Schiphol (AMS)plane LIN - AMS
- Take the train from Den Haag Centraal to Utrecht Centraaltrain
7h 19m€69–240Fly 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 58m€101–316Train to Milano Malpensa Airport, fly to Düsseldorf International Airport, train
- Take the train from Milano Porta Garibaldi to Malpensa Aeroporto T1train
- Fly from Milano Malpensa Airport (MXP) to Düsseldorf International Airport (DUS)plane MXP - DUS
- Take the train from Düsseldorf Hbf to Utrecht Centraaltrain
7h 24m€67–239Train 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 Den Haag Centraal to Utrecht Centraaltrain
8h€71–253Fly Milan Linate Airport to Frankfurt, train
- Fly from Milan Linate Airport (LIN) to Frankfurt (FRA)plane LIN - FRA
- Take the train from Frankfurt Flughafen Fernb to Arnhem Centraaltrain
- Take the train from Arnhem Centraal to Utrecht Centraaltrain
7h 29m€97–342Train
- Take the train from Milano Centrale to Basel Sbbtrain Ec
- Take the train from Basel SBB to Utrecht Centraaltrain 43N
14h 51m€189–257Drive, 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€187–1,140Bus, train
- Take the bus from Milan to Eindhoven Stationbus FlixBus N473
- Take the train from Eindhoven to Utrecht Centraaltrain Intercity
16h 47m€76–157
Milan to Utrecht by train
Questions & Answers
The cheapest way to get from Milan to Utrecht is to bus which costs €65 - €95 and takes 16h 10m.
The fastest way to get from Milan to Utrecht is to bus and fly and train which takes 6h 1m and costs €60 - €250.
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 Antwerp Rooseveltplaats. The journey, including transfers, takes approximately 16h 10m.
No, there is no direct train from Milan to Utrecht. However, there are services departing from Milano Centrale and arriving at Utrecht Centraal via Frankfurt. The journey, including transfers, takes approximately 11h 59m.
The distance between Milan and Utrecht is 858 km. The road distance is 998.1 km.
The best way to get from Milan to Utrecht without a car is to train via Frankfurt am Main which takes 11h 59m and costs €190 - €410.
It takes approximately 6h 1m 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 EuroCity, depart from Milano Centrale station.
The best way to get from Milan to Utrecht is to train via Frankfurt am Main which takes 11h 59m and costs €190 - €410. Alternatively, you can bus, which costs €65 - €95 and takes 16h 10m.
What companies run services between Milan, Italy and Utrecht, Netherlands?
You can take a train from Milano Centrale to Utrecht Centraal via Frankfurt in around 11h 59m. Alternatively, you can take a bus from Milano, Autostazione Lampugnano to Utrecht Central Station via Antwerp Rooseveltplaats in around 16h 10m.
- Website
- lufthansa.com
Flights from Milan Linate Airport to Brussels Airport via Munich
- Ave. Duration
- 3h 20m
- When
- Every day
- Estimated price
- €60–170
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 58m
- When
- Every day
- Estimated price
- €100–410
Flights from Milan Linate Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €90–380
Flights from Milan Linate Airport to Düsseldorf International Airport via Munich
- Ave. Duration
- 3h 12m
- When
- Every day
- Estimated price
- €90–280
Flights from Milano Malpensa Airport to Düsseldorf International Airport via Munich
- Ave. Duration
- 3h 26m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €30–270
Flights from Milano Malpensa Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 3h 30m
- When
- Every day
- Estimated price
- €85–320
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 4h 30m
- When
- Monday and Friday
- Estimated price
- €65–280
Flights from Milan Linate Airport to Frankfurt
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €60–230
Flights from Milan Linate Airport to Frankfurt via Munich
- Ave. Duration
- 3h 17m
- When
- Every day
- Estimated price
- €60–230
- Website
- ita-airways.com
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €50–200
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 55m
- When
- Every day
- Estimated price
- €65–270
Flights from Milan Linate Airport to Düsseldorf International Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €65–200
Flights from Milan Linate Airport to Düsseldorf International Airport via Frankfurt
- Ave. Duration
- 3h 37m
- When
- Every day
- Estimated price
- €90–380
Flights from Milan Linate Airport to Frankfurt
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €60–230
- Website
- easyjet.com
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 32m
- When
- Every day
- Estimated price
- €30–120
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 56m
- When
- Every day
- Estimated price
- €50–170
Flights from Milano Malpensa Airport to Düsseldorf International Airport
- Ave. Duration
- 1h 40m
- When
- Every day
- Estimated price
- €27–120
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 2h 2m
- When
- Every day
- Estimated price
- €40–200
Flights from Milan Linate Airport to Frankfurt
- Ave. Duration
- 1h 20m
- When
- Every day
- Estimated price
- €35–130
- Website
- klm.com
Flights from Milan Linate Airport to Brussels Airport via Amsterdam Airport Schiphol
- Ave. Duration
- 3h 40m
- When
- Every day
- Estimated price
- €50–290
Flights from Milan Linate Airport to Amsterdam Airport Schiphol
- Ave. Duration
- 1h 52m
- When
- Every day
- Estimated price
- €45–290
- Website
- airdolomiti.it
Flights from Milan Linate Airport to Amsterdam Airport Schiphol via Frankfurt
- Ave. Duration
- 3h 50m
- When
- Every day
- Estimated price
- €100–260
Flights from Milan Linate Airport to Frankfurt
- Ave. Duration
- 1h 15m
- When
- Every day
- Estimated price
- €60–230
- Website
- brusselsairlines.com
Flights from Milan Linate Airport to Brussels Airport
- Ave. Duration
- 1h 35m
- When
- Every day
- Estimated price
- €50–200
- Website
- swiss.com
Flights from Milano Malpensa Airport to Düsseldorf International Airport via Zurich
- Ave. Duration
- 3h 8m
- When
- Every day
- Estimated price
- €30–250
Flights from Milano Malpensa Airport to Amsterdam Airport Schiphol via Zurich
- Ave. Duration
- 4h 12m
- When
- Every day
- Estimated price
- €65–260
- Website
- ryanair.com
Flights from Il Caravaggio International Airport to Eindhoven Airport
- Ave. Duration
- 1h 45m
- When
- Every day
- Estimated price
- €40–170
Flights from Il Caravaggio International Airport to Eindhoven Airport via London Stansted
- Ave. Duration
- 4h 10m
- When
- Friday
- Estimated price
- €40–170
- Website
- eurowings.com
Flights from Milano Malpensa Airport to Düsseldorf International Airport
- Ave. Duration
- 1h 30m
- When
- Monday, Tuesday, Wednesday, Thursday, Friday, and Sunday
- Estimated price
- €30–120
- Website
- airfrance.com
Flights from Milan Linate Airport to Düsseldorf International Airport via Paris Charles de Gaulle
- Ave. Duration
- 4h 2m
- When
- Monday, Tuesday, Thursday, Friday, Saturday, and Sunday
- Estimated price
- €50–310
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Eindhoven to Utrecht Centraal
- Ave. Duration
- 49 min
- Frequency
- Every 15 minutes
- Estimated price
- €14–45
- Website
- https://www.ns.nl/en
- 2nd Class
- €14–21
- 1st Class
- €25–45
Train from Frankfurt to Utrecht Centraal
- Ave. Duration
- 3h 25m
- Frequency
- Every 4 hours
- Estimated price
- €60–210
- Website
- https://www.ns.nl/en
- 2nd Class
- €60–90
- 1st Class
- €120–210
Train from Brussels Airport-Zaventem to Breda
- Ave. Duration
- 1h 8m
- Frequency
- Hourly
- Estimated price
- €21–70
- Website
- https://www.ns.nl/en
- 2nd Class
- €21–35
- 1st Class
- €40–70
Train from Breda to 's-Hertogenbosch
- Ave. Duration
- 36 min
- Frequency
- Every 20 minutes
- Estimated price
- €8–23
- Website
- https://www.ns.nl/en
- 2nd Class
- €8–13
- 1st Class
- €14–23
Train from 's-Hertogenbosch to Utrecht Centraal
- Ave. Duration
- 42 min
- Frequency
- Every 15 minutes
- Estimated price
- €9–25
- Website
- https://www.ns.nl/en
- 2nd Class
- €9–14
- 1st Class
- €15–25
Train from Den Haag Centraal to Utrecht Centraal
- Ave. Duration
- 1h 1m
- Frequency
- Every 10 minutes
- Estimated price
- €11–35
- Website
- https://www.ns.nl/en
- 2nd Class
- €11–17
- 1st Class
- €19–35
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
Train from Frankfurt Flughafen Fernb to Arnhem Centraal
- Ave. Duration
- 2h 40m
- Frequency
- Every 4 hours
- Estimated price
- €50–180
- Website
- https://www.ns.nl/en
- 2nd Class
- €50–75
- 1st Class
- €100–180
Train from Arnhem Centraal to Utrecht Centraal
- Ave. Duration
- 34 min
- Frequency
- Every 15 minutes
- Estimated price
- €10–30
- Website
- https://www.ns.nl/en
- 2nd Class
- €10–16
- 1st Class
- €18–30
- Phone
- 0800-0232 545
- Website
- arriva.nl
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 68475475
- ufficiogruppi@trenitalia.it
- Website
- trenitalia.com
Train from Milano Centrale to Frankfurt(Main)Hbf
- Ave. Duration
- 7h 34m
- Frequency
- Once daily
- Estimated price
- €130–200
- Website
- https://www.trenitalia.com/en.html
- 1st Class
- €140–200
- 2nd Class
- €130–180
Train from Milano Centrale to Basel Sbb
- Ave. Duration
- 4h 20m
- 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
- +32 70 79 79 79
- Website
- belgiantrain.be
Train from Brussels Airport-Zaventem to Breda
- Ave. Duration
- 1h 27m
- Frequency
- Hourly
- Estimated price
- €23–25
- Website
- https://www.belgiantrain.be/en
- 2nd Class
- €23–25
- 1st Class
- €32–36
- 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
- +49 30 311 682904
- Website
- bahn.de
Train from Frankfurt Flughafen Fernb to Arnhem Centraal
- Ave. Duration
- 2h 38m
- Frequency
- Every 3 hours
- Estimated price
- €55–65
- Website
- https://int.bahn.de/en
Train from Basel SBB to Utrecht Centraal
- Ave. Duration
- 9h 31m
- Frequency
- 4 times a week
- Estimated price
- €110–130
- 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
- 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–12
- 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
- +3-389-268-0068
- Website
- blablacar.co.uk
Bus from Milano, Autostazione Lampugnano to Antwerp - Rooseveltplaats
- Ave. Duration
- 13h 30m
- Frequency
- Once daily
- Estimated price
- €60–85
- Website
- https://www.blablacar.co.uk/bus
Rome2Rio's guide to FlixBus
Contact Details
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Antwerp Rooseveltplaats to Utrecht Central Station
- Ave. Duration
- 1h 40m
- Frequency
- Once daily
- Estimated price
- €7–13
- Website
- https://www.flixbus.co.uk
Bus from Milan to Eindhoven Station
- Ave. Duration
- 14h 35m
- Frequency
- Once daily
- Estimated price
- €60–110
- Website
- https://www.flixbus.co.uk
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
Want to know more about Flixbus?
Read the travel guide
Getting to Milan from the airport
Read the travel guide
More Questions & Answers
Milan to Utrecht bus services, operated by BlaBlaCar Bus, arrive at Antwerp - Rooseveltplaats station.
Milan to Utrecht train services, operated by Trenitalia EuroCity, arrive at Basel Sbb 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.
Book your Milan to Utrecht bus tickets online with Omio.
There are 592+ hotels available in Utrecht.

















































