The cheapest and fastest trains from Haarlem to Rotterdam
Cheapest price
16S$
Average price
18S$
Fastest journey
56 m
Average duration
56 m
Trains per day
42
Distance
52 km
The best way to find a cheap train ticket from Haarlem to Rotterdam is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Haarlem to Rotterdam will cost around 18S$ if you buy it on the day, but you can find cheap train tickets today for only 16S$.
Of the 42 trains that leave Haarlem for Rotterdam every day 12 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct trains cover the 52 km distance in an average of 56 m but if you time it right, some trains will get you there in just 56 m .
The slowest trains will take 56 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
IC 23218:23 AM0h56Haarlem station9:19 AMRotterdam Centraal16 S$1One-way0 changes
223110:53 AM0h56Haarlem station11:49 AMRotterdam Centraal16 S$1One-way0 changes
233311:23 AM0h56Haarlem station12:19 PMRotterdam Centraal16 S$1One-way0 changes
SPR 4816 · SPR 4129 · ICD 18228:17 AM1h01Haarlem station9:18 AMRotterdam Centraal16 S$1One-way2 changes
IC 2119 · IC 35208:07 AM0h57Haarlem station9:04 AMRotterdam Centraal16 S$1One-way1 change
IC 23218:23 AM0h56Haarlem station9:19 AMRotterdam Centraal16 S$1One-way0 changes
223110:53 AM0h56Haarlem station11:49 AMRotterdam Centraal16 S$1One-way0 changes
233311:23 AM0h56Haarlem station12:19 PMRotterdam Centraal16 S$1One-way0 changes
23218:23 AM0h56Haarlem station9:19 AMRotterdam Centraal16 S$1One-way0 changes
22279:53 AM0h56Haarlem station10:49 AMRotterdam Centraal16 S$1One-way0 changes
Live departures
Haarlem to Rotterdam train times
The table below shows live departures for Haarlem to Rotterdam trains for tomorrow, Friday, 19 June. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
IC 2219 | 7:53 AM Haarlem station | 1h01 | 8:54 AM Rotterdam Blaak | 0 changesdirect | |
IC 2219 | 7:53 AM Haarlem station | 0h56 | 8:49 AM Rotterdam Centraal | 0 changesdirect | |
2119 · 3520 | 8:07 AM Haarlem station | 0h57 | 9:04 AM Rotterdam Centraal | 1 change | |
IC 2119 · IC 3520 | 8:07 AM Haarlem station | 1h03 | 9:10 AM Rotterdam Blaak | 1 change | |
IC 2119 · IC 3520 | 8:07 AM Haarlem station | 0h57 | 9:04 AM Rotterdam Centraal | 1 change | |
2314+ 8229+ 2422 | 8:10 AM Haarlem station | 0h58 | 9:08 AM Rotterdam Centraal | 2 changes | |
IC 2314 · SPR 8229 · ICD 2422 | 8:10 AM Haarlem station | 0h58 | 9:08 AM Rotterdam Centraal | 2 changes | |
IC 2314 · SPR 8229 · ICD 2422 · SPR 5019 | 8:10 AM Haarlem station | 1h06 | 9:16 AM Rotterdam Blaak | 3 changes | |
4816 · 4129+ 1822 | 8:17 AM Haarlem station | 1h01 | 9:18 AM Rotterdam Centraal | 2 changes | |
SPR 4816 · SPR 4129 · ICD 1822 | 8:17 AM Haarlem station | 1h01 | 9:18 AM Rotterdam Centraal | 2 changes | |
2321 | 8:23 AM Haarlem station | 0h56 | 9:19 AM Rotterdam Centraal | 0 changesdirect | |
IC 2321 | 8:23 AM Haarlem station | 1h01 | 9:24 AM Rotterdam Blaak | 0 changesdirect | |
IC 2321 | 8:23 AM Haarlem station | 0h56 | 9:19 AM Rotterdam Centraal | 0 changesdirect | |
2121 · 3522 | 8:37 AM Haarlem station | 0h57 | 9:34 AM Rotterdam Centraal | 1 change | |
IC 2121 · IC 3522 | 8:37 AM Haarlem station | 1h03 | 9:40 AM Rotterdam Blaak | 1 change | |
2216+ 8231+ 9524 | 8:40 AM Haarlem station | 0h58 | 9:38 AM Rotterdam Centraal | 2 changes | |
2223 | 8:53 AM Haarlem station | 0h56 | 9:49 AM Rotterdam Centraal | 0 changesdirect | |
2118+ 8131+ 9328 | 8:55 AM Haarlem station | 0h58 | 9:53 AM Rotterdam Centraal | 2 changes | |
2123 · 3524 | 9:07 AM Haarlem station | 0h57 | 10:04 AM Rotterdam Centraal | 1 change | |
2318+ 8233+ 2426 | 9:10 AM Haarlem station | 0h58 | 10:08 AM Rotterdam Centraal | 2 changes | |
4820 · 4133+ 1826 | 9:17 AM Haarlem station | 1h01 | 10:18 AM Rotterdam Centraal | 2 changes | |
2325 | 9:23 AM Haarlem station | 0h56 | 10:19 AM Rotterdam Centraal | 0 changesdirect | |
2125 · 3526 | 9:37 AM Haarlem station | 0h57 | 10:34 AM Rotterdam Centraal | 1 change | |
2220+ 8235+ 9528 | 9:40 AM Haarlem station | 0h58 | 10:38 AM Rotterdam Centraal | 2 changes | |
4822 · 4135+ 1828 | 9:47 AM Haarlem station | 1h01 | 10:48 AM Rotterdam Centraal | 2 changes | |
2227 | 9:53 AM Haarlem station | 0h56 | 10:49 AM Rotterdam Centraal | 0 changesdirect | |
2127 · 3528 | 10:07 AM Haarlem station | 0h57 | 11:04 AM Rotterdam Centraal | 1 change | |
2322+ 8237+ 2430 | 10:10 AM Haarlem station | 0h58 | 11:08 AM Rotterdam Centraal | 2 changes | |
4824 · 4137+ 1830 | 10:17 AM Haarlem station | 1h01 | 11:18 AM Rotterdam Centraal | 2 changes | |
2329 | 10:23 AM Haarlem station | 0h56 | 11:19 AM Rotterdam Centraal | 0 changesdirect | |
2129 · 3530 | 10:37 AM Haarlem station | 0h57 | 11:34 AM Rotterdam Centraal | 1 change | |
2224+ 8239+ 9532 | 10:40 AM Haarlem station | 0h58 | 11:38 AM Rotterdam Centraal | 2 changes | |
2231 | 10:53 AM Haarlem station | 0h56 | 11:49 AM Rotterdam Centraal | 0 changesdirect | |
2126+ 8139+ 9340 | 10:55 AM Haarlem station | 0h58 | 11:53 AM Rotterdam Centraal | 2 changes | |
2131 · 3532 | 11:07 AM Haarlem station | 0h57 | 12:04 PM Rotterdam Centraal | 1 change | |
2326+ 8241+ 2434 | 11:10 AM Haarlem station | 0h58 | 12:08 PM Rotterdam Centraal | 2 changes | |
4828 · 4141+ 1834 | 11:17 AM Haarlem station | 1h01 | 12:18 PM Rotterdam Centraal | 2 changes | |
2333 | 11:23 AM Haarlem station | 0h56 | 12:19 PM Rotterdam Centraal | 0 changesdirect | |
2133 · 3534 | 11:37 AM Haarlem station | 0h57 | 12:34 PM Rotterdam Centraal | 1 change | |
2228+ 8243+ 9536 | 11:40 AM Haarlem station | 0h58 | 12:38 PM Rotterdam Centraal | 2 changes | |
4830 · 4143+ 1836 | 11:47 AM Haarlem station | 1h01 | 12:48 PM Rotterdam Centraal | 2 changes | |
2235 | 11:53 AM Haarlem station | 0h56 | 12:49 PM Rotterdam Centraal | 0 changesdirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Haarlem to Rotterdam by train
Compare train prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
19 Jun
20 Jun
21 Jun
22 Jun
23 Jun
24 Jun
25 Jun
Why should you book Haarlem to Rotterdam trains with Omio?
Why book with Omio vs NS International | IC Brussel?
- Compare with other providers: On Omio, you can not only buy tickets for NS International | IC Brussel, but also compare tickets for the likes of Intercity, Intercity, NS | BUS or Eurostar to find the best option for your trip from Haarlem to Rotterdam.
- Designed for International Travelers: Omio is in your language including 24/7 customer service and offers multiple payment options, including PayPal, credit cards, and bank transfer, in your preferred currency.
Journey information
Overview: Train from Haarlem to Rotterdam
Trains from Haarlem to Rotterdam run on average 45 times per day, taking around 57m. Cheap train tickets for this journey start at 16S$ if you book in advance.
There are 10 trains per day. The earliest train runs at 00:01, the last at 23:58. The fastest train covers the 52 km distance in 55m.
Distance 52 km |
Average train duration 57m |
Cheapest ticket price 16S$ |
Trains per day 45 |
Direct trains 10 |
Fastest train 55m |
First train 12:01 AM |
Last train 11:58 PM |
Cheapest Month Aug |
Cheapest Day Fri |
High Season Oct - Dec |
Low Season Apr - Jun |
Busiest Day Sun |
Least Busy Day Sat |
Best time to book 35 days |
Train companies: NS International | IC Brussel, Intercity, NS | BUS, Eurostar, Deutsche Bahn, Nederlandse Spoorwegen (NS) from Haarlem to Rotterdam trainsNS International | IC Brussel, Intercity, NS | BUS, Eurostar, Deutsche Bahn, Nederlandse Spoorwegen (NS) trains will get you between Haarlem and Rotterdam from 16S$. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
NS International | IC Brussel
Intercity
Eurostar
Deutsche Bahn
A Bordrestaurant (restaurant car) where you can sit and eat.
A Bordbistro (bistro bar) with snacks, hot meals, and drinks to-go.
At-seat service in 1st class: staff will take your order and serve food/drinks directly to your seat.
Regional trains (RE / RB / S-Bahn):
No onboard catering.
You’re welcome to bring your own food and drinks.
Not included by default.
You can add a seat reservation when booking (recommended for busy routes).
Costs around €4.90 per seat (or €5.90 if booked separately later).
First Class:
Yes, always included in the ticket price.
Allowed for free if they can fit in a transport box (max. size: hand luggage).
Must stay in the box for the entire journey.
Large dogs:
Require a separate (paid) ticket — typically half the price of a regular second-class ticket.
Must be leashed and wear a muzzle while on the train.
Cannot sit on seats.
Assistance dogs:
Travel free of charge.
Do not need a muzzle or leash if medically not required.
Allowed to accompany the passenger at all times.
NS | BUS
Nederlandse Spoorwegen (NS)
FAQs: Haarlem to Rotterdam train
Find answers to the most common questions about traveling from Haarlem to Rotterdam by train. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest train, the cheapest option, or tips for making the most of your visit at Rotterdam, this guide helps you travel smarter and with confidence.

popular train stations
Important Stations and Airports in Haarlem and Rotterdam
- 6:00 AM - 10:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week, with access from the main entrance
- Restaurant Morris
- De Ripper
- Outside the main entrance
- Elevators, ramps
- €0.70
- Amrâth Grand Hotel Frans Hals
- Hotel Lion d'Or
- Carlton Square Hotel
- Located in the main hall
- 960 places, covered
- Avis
- Europcar
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-6 for trains to Amsterdam, Rotterdam, and regional destinations
- Train: NS Intercity, Sprinter
- Bus: Several lines available
- Mon - Sun: 00:00 - 24:00
- Free Wi-Fi in the station
- Luggage lockers are located at the north side of the station, next to the escalator to Platform 15. A small safe costs €6.00 and a large safe costs €9.00 for 24 hours
- Smullers
- Albert Heijn to go
- Starbucks
- La Place
- Julia's
- Ekmekci
- LEON
- The Doner Company
- StationsHuiskamer
- De Broodzaak
- & more
- Escalators, elevators, wheelchair access, personalized mobility assistance
- Rotterdam Marriott Hotel
- Layin’ Rotterdam Central
- Hostel Ani & Haakien
- Mon - Sun: 00:00 - 24:00
- Located inside the central hall
- Subway lines: D, E
- Bus lines: 33, 34, 38, 39, 40, 44, 48
- Tram lines: 4, 7, 8, 12, 20, 21, 23, 24, 25
- Train lines: NS Intercity, NS Intercity Direct, NS Sprinter, NS Nachtnet, Thalys, Eurostar
- 6:00 AM - 11:00 PM Monday - Sunday
- Free
- The car park is open 7 days a week from 5:00 a.m. to 1:00 a.m. Departures can be made outside of opening hours. You can access the car park at Blaak 1
- Restaurant Fitzgerald
- Markthal Rotterdam
- Outside the main entrance
- Ramps
- €0.70
- Motto by Hilton Rotterdam Blaak
- citizenM Rotterdam
- Ibis Rotterdam City Centre
- Located in the main hall
- 120 places, covered
- Avis
- Europcar
- Located in the main hall
- Free
- Hall 1: main entrance, platform 1-4 for trains and metro services
- Hall 2: access to tram and bus connections
- Metro: Line A, Line B, Line C
- Tram: Line 21, Line 24
- Bus: Several lines available
More options for your journey from Haarlem to Rotterdam
Here are some other resources that might have the information you need



