The average train between Haarlem and Utrecht takes 57 min and the fastest train takes 46 min. The train runs at least 3 times per hour from Haarlem to Utrecht. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run every 20 minutes between Haarlem and Utrecht. The earliest departure is at 10:40 AM in the morning, and the last departure from Haarlem is at 11:47 PM which arrives into Utrecht at 12:58 AM. All services require a transfer, and take on average 57 min. The schedules shown below are for the next available departures.

1h 2m • 1 change

1h 3m • 1 change

1h 2m • 1 change

1h 3m • 1 change
Want to know about travelling from Haarlem to Utrecht? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct train from Haarlem to Utrecht. However, there are services departing from Haarlem station and arriving at Utrecht station via Amsterdam Centraal. The journey, including transfers, takes approximately 57 min.
Haarlem to Utrecht train services, operated by Nederlandse Spoorwegen (NS), depart from Haarlem station.
Haarlem to Utrecht train services, operated by Nederlandse Spoorwegen (NS), arrive at Utrecht Centraal station.
Book your Haarlem to Utrecht train tickets online with Nederlandse Spoorwegen (NS).
The distance between Haarlem and Utrecht is 53.5 km. The road distance is 57 km.
You can take a train from Haarlem to Utrecht Centraal via Amsterdam Centraal in around 47 min.