The average train between Haarlem and Mechelen takes 2h 46m and the fastest train takes 2h 44m. There is a train service every few hours from Haarlem to Mechelen. 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 hourly between Haarlem and Mechelen. The earliest departure is at 1:23 AM at night, and the last departure from Haarlem is at 8:53 PM which arrives into Mechelen at 11:37 PM. All services require a transfer, and take on average 2h 46m. The schedules shown below are for the next available departures.

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change

2h 44m • 1 change
Want to know about travelling from Haarlem to Mechelen? 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 Mechelen. However, there are services departing from Haarlem station and arriving at Mechelen station via Rotterdam Centraal. The journey, including transfers, takes approximately 2h 46m.
Haarlem to Mechelen train services, operated by Nederlandse Spoorwegen (NS), depart from Haarlem station.
Haarlem to Mechelen train services, operated by Nederlandse Spoorwegen (NS), arrive at Malines station.
Book your Haarlem to Mechelen train tickets online with Nederlandse Spoorwegen (NS) and Belgian Railways (NMBS/SNCB).
The distance between Haarlem and Mechelen is 151.1 km. The road distance is 192 km.
You can take a train from Haarlem to Malines via Rotterdam Centraal in around 2h 42m.