The cheapest and fastest trains from Haarlem to Amsterdam
Cheapest price
€6
Average price
€6
Fastest journey
12 m
Average duration
13 m
Trains per day
82
Distance
17 km
The best way to find a cheap train ticket from Haarlem to Amsterdam is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Haarlem to Amsterdam will cost around €6 if you buy it on the day, but the cheapest tickets can be found for only €6.
Of the 82 trains that leave Haarlem for Amsterdam on Sun, Jun 07, 81 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sun, Jun 07 the direct trains cover the 17 km distance in an average of 13 m but if you time it right, some trains will get you there in just 12 m .
On Sun, Jun 07 the slowest trains will take 15 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.
22841:40 AM0h15Haarlem station1:55 AMAmsterdam Centraal€61One-way0 transfers
213011:56 AM0h15Haarlem station12:11 PMAmsterdam Centraal€61One-way0 transfers
23189:10 AM0h15Haarlem station9:25 AMAmsterdam Centraal€61One-way0 transfers
22209:40 AM0h15Haarlem station9:55 AMAmsterdam Centraal€61One-way0 transfers
22168:40 AM0h15Haarlem station8:55 AMAmsterdam Centraal€61One-way0 transfers
14062:01 AM0h12Haarlem station2:13 AMAmsterdam Centraal€61One-way0 transfers
214512:01 AM0h13Haarlem station2:14 AMAmsterdam Centraal€61One-way0 transfers
14103:02 AM0h13Haarlem station3:15 AMAmsterdam Centraal€61One-way0 transfers
214553:04 AM0h13Haarlem station3:17 AMAmsterdam Centraal€61One-way0 transfers
22841:40 AM0h15Haarlem station1:55 AMAmsterdam Centraal€61One-way0 transfers
Travel Information
Compare train and bus for Haarlem to Amsterdam
Omio recommends booking the train as it is the most popular option from Haarlem to Amsterdam among Omio's users. If you are prioritising price take the train with prices starting from €6. For those with little time consider booking a train which can get you there in 19m. The ticket price range depends on the travel mode: a train costs an average of €6, and a bus costs an average of €6.
Distance: 17 km
Compare train with
Most popular Train | Bus |
|---|---|
€6 Average price Cheapest | €6 Average price |
49m Average total duration Fastest 19m Onboard + 30m Additional time* | 1h 34m Average total duration 1h 4m Onboard + 30m Additional time* |
Direct Options | Direct Options |
Live departures
Haarlem to Amsterdam train times
The table below shows live departures for Haarlem to Amsterdam trains for tomorrow, Sunday, June 7. You can also manually refresh the results below to see updated train journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
5478 | 12:01 AM Haarlem station | 0h18 | 12:19 AM Amsterdam Centraal | 0 transfersDirect | |
2378 | 12:10 AM Haarlem station | 0h15 | 12:25 AM Amsterdam Centraal | 0 transfersDirect | |
4880 | 12:17 AM Haarlem station | 0h18 | 12:35 AM Amsterdam Centraal | 0 transfersDirect | |
2180 | 12:25 AM Haarlem station | 0h15 | 12:40 AM Amsterdam Centraal | 0 transfersDirect | |
2180 | 12:27 AM Haarlem station | 0h15 | 12:42 AM Amsterdam Centraal | 0 transfersDirect | |
2280 | 12:40 AM Haarlem station | 0h15 | 12:55 AM Amsterdam Centraal | 0 transfersDirect | |
4882 | 12:47 AM Haarlem station | 0h18 | 1:05 AM Amsterdam Centraal | 0 transfersDirect | |
2182 | 12:55 AM Haarlem station | 0h15 | 1:10 AM Amsterdam Centraal | 0 transfersDirect | |
2182 | 12:56 AM Haarlem station | 0h15 | 1:11 AM Amsterdam Centraal | 0 transfersDirect | |
2382 | 1:10 AM Haarlem station | 0h15 | 1:25 AM Amsterdam Centraal | 0 transfersDirect | |
14884 | 1:16 AM Haarlem station | 0h18 | 1:34 AM Amsterdam Centraal | 0 transfersDirect | |
2284 | 1:40 AM Haarlem station | 0h15 | 1:55 AM Amsterdam Centraal | 0 transfersDirect | |
82284 | 1:40 AM Haarlem station | 0h15 | 1:55 AM Amsterdam Centraal | 0 transfersDirect | |
21451 | 2:01 AM Haarlem station | 0h13 | 2:14 AM Amsterdam Centraal | 0 transfersDirect | |
1406 | 2:01 AM Haarlem station | 0h12 | 2:13 AM Amsterdam Centraal | 0 transfersDirect | |
1410 | 3:02 AM Haarlem station | 0h13 | 3:15 AM Amsterdam Centraal | 0 transfersDirect | |
21455 | 3:04 AM Haarlem station | 0h13 | 3:17 AM Amsterdam Centraal | 0 transfersDirect | |
1413 · 1418 | 4:00 AM Haarlem station | 1h15 | 5:15 AM Amsterdam Centraal | 1 transfer | |
4808 | 6:17 AM Haarlem station | 0h18 | 6:35 AM Amsterdam Centraal | 0 transfersDirect | |
1426 | 7:02 AM Haarlem station | 0h15 | 7:17 AM Amsterdam Centraal | 0 transfersDirect | |
4812 | 7:17 AM Haarlem station | 0h18 | 7:35 AM Amsterdam Centraal | 0 transfersDirect | |
5412 | 7:31 AM Haarlem station | 0h18 | 7:49 AM Amsterdam Centraal | 0 transfersDirect | |
2212 | 7:40 AM Haarlem station | 0h15 | 7:55 AM Amsterdam Centraal | 0 transfersDirect | |
4814 | 7:48 AM Haarlem station | 0h18 | 8:06 AM Amsterdam Centraal | 0 transfersDirect | |
2314 | 8:10 AM Haarlem station | 0h15 | 8:25 AM Amsterdam Centraal | 0 transfersDirect | |
4816 | 8:17 AM Haarlem station | 0h18 | 8:35 AM Amsterdam Centraal | 0 transfersDirect | |
5416 | 8:31 AM Haarlem station | 0h18 | 8:49 AM Amsterdam Centraal | 0 transfersDirect | |
2216 | 8:40 AM Haarlem station | 0h15 | 8:55 AM Amsterdam Centraal | 0 transfersDirect | |
4818 | 8:47 AM Haarlem station | 0h18 | 9:05 AM Amsterdam Centraal | 0 transfersDirect | |
5418 | 9:01 AM Haarlem station | 0h18 | 9:19 AM Amsterdam Centraal | 0 transfersDirect | |
2318 | 9:10 AM Haarlem station | 0h15 | 9:25 AM Amsterdam Centraal | 0 transfersDirect | |
4820 | 9:17 AM Haarlem station | 0h18 | 9:35 AM Amsterdam Centraal | 0 transfersDirect | |
5420 | 9:31 AM Haarlem station | 0h18 | 9:49 AM Amsterdam Centraal | 0 transfersDirect | |
2220 | 9:40 AM Haarlem station | 0h15 | 9:55 AM Amsterdam Centraal | 0 transfersDirect | |
4822 | 9:47 AM Haarlem station | 0h18 | 10:05 AM Amsterdam Centraal | 0 transfersDirect | |
5422 | 10:01 AM Haarlem station | 0h18 | 10:19 AM Amsterdam Centraal | 0 transfersDirect | |
2322 | 10:10 AM Haarlem station | 0h15 | 10:25 AM Amsterdam Centraal | 0 transfersDirect | |
4824 | 10:17 AM Haarlem station | 0h18 | 10:35 AM Amsterdam Centraal | 0 transfersDirect | |
5424 | 10:31 AM Haarlem station | 0h18 | 10:49 AM Amsterdam Centraal | 0 transfersDirect | |
2224 | 10:40 AM Haarlem station | 0h15 | 10:55 AM Amsterdam Centraal | 0 transfersDirect | |
4826 | 10:48 AM Haarlem station | 0h18 | 11:06 AM Amsterdam Centraal | 0 transfersDirect | |
2126 | 10:56 AM Haarlem station | 0h15 | 11:11 AM Amsterdam Centraal | 0 transfersDirect | |
5426 | 11:01 AM Haarlem station | 0h18 | 11:19 AM Amsterdam Centraal | 0 transfersDirect | |
2326 | 11:10 AM Haarlem station | 0h15 | 11:25 AM Amsterdam Centraal | 0 transfersDirect | |
4828 | 11:17 AM Haarlem station | 0h18 | 11:35 AM Amsterdam Centraal | 0 transfersDirect | |
2128 | 11:26 AM Haarlem station | 0h15 | 11:41 AM Amsterdam Centraal | 0 transfersDirect | |
5428 | 11:31 AM Haarlem station | 0h18 | 11:49 AM Amsterdam Centraal | 0 transfersDirect | |
2228 | 11:40 AM Haarlem station | 0h15 | 11:55 AM Amsterdam Centraal | 0 transfersDirect | |
4830 | 11:47 AM Haarlem station | 0h18 | 12:05 PM Amsterdam Centraal | 0 transfersDirect | |
2130 | 11:56 AM Haarlem station | 0h15 | 12:11 PM Amsterdam Centraal | 0 transfersDirect | |
5430 | 12:01 PM Haarlem station | 0h18 | 12:19 PM Amsterdam Centraal | 0 transfersDirect | |
2330 | 12:10 PM Haarlem station | 0h15 | 12:25 PM Amsterdam Centraal | 0 transfersDirect | |
4832 | 12:17 PM Haarlem station | 0h18 | 12:35 PM Amsterdam Centraal | 0 transfersDirect | |
2132 | 12:26 PM Haarlem station | 0h15 | 12:41 PM Amsterdam Centraal | 0 transfersDirect | |
5432 | 12:31 PM Haarlem station | 0h18 | 12:49 PM Amsterdam Centraal | 0 transfersDirect | |
2232 | 12:40 PM Haarlem station | 0h15 | 12:55 PM Amsterdam Centraal | 0 transfersDirect | |
4834 | 12:47 PM Haarlem station | 0h18 | 1:05 PM Amsterdam Centraal | 0 transfersDirect | |
2134 | 12:56 PM Haarlem station | 0h15 | 1:11 PM Amsterdam Centraal | 0 transfersDirect | |
5434 | 1:01 PM Haarlem station | 0h18 | 1:19 PM Amsterdam Centraal | 0 transfersDirect | |
2334 | 1:10 PM Haarlem station | 0h15 | 1:25 PM Amsterdam Centraal | 0 transfersDirect | |
4836 | 1:17 PM Haarlem station | 0h18 | 1:35 PM Amsterdam Centraal | 0 transfersDirect | |
2136 | 1:26 PM Haarlem station | 0h15 | 1:41 PM Amsterdam Centraal | 0 transfersDirect | |
5436 | 1:31 PM Haarlem station | 0h18 | 1:49 PM Amsterdam Centraal | 0 transfersDirect | |
2236 | 1:40 PM Haarlem station | 0h15 | 1:55 PM Amsterdam Centraal | 0 transfersDirect | |
4838 | 1:48 PM Haarlem station | 0h18 | 2:06 PM Amsterdam Centraal | 0 transfersDirect | |
2138 | 1:56 PM Haarlem station | 0h15 | 2:11 PM Amsterdam Centraal | 0 transfersDirect | |
5438 | 2:01 PM Haarlem station | 0h18 | 2:19 PM Amsterdam Centraal | 0 transfersDirect | |
2338 | 2:10 PM Haarlem station | 0h15 | 2:25 PM Amsterdam Centraal | 0 transfersDirect | |
4840 | 2:17 PM Haarlem station | 0h18 | 2:35 PM Amsterdam Centraal | 0 transfersDirect | |
2140 | 2:26 PM Haarlem station | 0h15 | 2:41 PM Amsterdam Centraal | 0 transfersDirect | |
5440 | 2:31 PM Haarlem station | 0h18 | 2:49 PM Amsterdam Centraal | 0 transfersDirect | |
2240 | 2:40 PM Haarlem station | 0h15 | 2:55 PM Amsterdam Centraal | 0 transfersDirect | |
4842 | 2:47 PM Haarlem station | 0h18 | 3:05 PM Amsterdam Centraal | 0 transfersDirect | |
2142 | 2:56 PM Haarlem station | 0h15 | 3:11 PM Amsterdam Centraal | 0 transfersDirect | |
5442 | 3:01 PM Haarlem station | 0h18 | 3:19 PM Amsterdam Centraal | 0 transfersDirect | |
2342 | 3:10 PM Haarlem station | 0h15 | 3:25 PM Amsterdam Centraal | 0 transfersDirect | |
4844 | 3:17 PM Haarlem station | 0h18 | 3:35 PM Amsterdam Centraal | 0 transfersDirect | |
2144 | 3:26 PM Haarlem station | 0h15 | 3:41 PM Amsterdam Centraal | 0 transfersDirect | |
5444 | 3:31 PM Haarlem station | 0h18 | 3:49 PM Amsterdam Centraal | 0 transfersDirect | |
2244 | 3:40 PM Haarlem station | 0h15 | 3:55 PM Amsterdam Centraal | 0 transfersDirect | |
4846 | 3:48 PM Haarlem station | 0h18 | 4:06 PM Amsterdam Centraal | 0 transfersDirect | |
2146 | 3:56 PM Haarlem station | 0h15 | 4:11 PM Amsterdam Centraal | 0 transfersDirect | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Haarlem to Amsterdam by train or bus
Compare train and bus 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.
Jun 07
Jun 08
Jun 09
Jun 10
Jun 11
Jun 12
Jun 13
Jun 14
Jun 15
Jun 16
Jun 17
Jun 18
Jun 19
Jun 20
Jun 21
Jun 22
Jun 23
Jun 24
Jun 25
Jun 26
Jun 27
Why should you book Haarlem to Amsterdam trains with Omio?
Why book with Omio vs Intercity?
- Compare with other providers: On Omio, you can not only buy tickets for Intercity, but also compare tickets for the likes of NS International | IC Brussel, Intercity, NS | BUS or Deutsche Bahn to find the best option for your trip from Haarlem to Amsterdam.
- 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.
- Compare all your options: Omio allows you to compare Intercity with all available travel options, which are train and bus to ensure you get the best deal for traveling from Haarlem to Amsterdam.
Why book with Omio over Trainline or Wanderu?
- Compare with other providers: On Omio, you can also compare tickets for the likes of NS International | IC Brussel, Intercity, NS | BUS or Deutsche Bahn to find the best option for your trip from Haarlem to Amsterdam.
- Multiple modes of transport: Omio allows you to compare travel options including train and bus to find the ideal travel option from Haarlem to Amsterdam.
How far in advance should I book train tickets from Haarlem to Amsterdam?
Journey information
Overview: Train from Haarlem to Amsterdam
Trains from Haarlem to Amsterdam run on average 162 times per day, taking around 19m. Cheap train tickets for this journey start at €6 if you book in advance.
There are 49 trains per day. The earliest train runs at 00:01, the last at 23:58. The fastest train covers the 17 km distance in 14m.
Distance 17 km |
Average train duration 19m |
Cheapest ticket price €6 |
Trains per day 162 |
Direct trains 49 |
Fastest train 14m |
First train 12:01 AM |
Last train 11:58 PM |
Cheapest Month Jun |
Cheapest Day Thu |
High Season Apr - Jun |
Low Season Jan - Mar |
Busiest Day Fri |
Least Busy Day Wed |
Best time to book 63 days |
Train companies: Intercity, NS International | IC Brussel, NS | BUS, Deutsche Bahn, Nederlandse Spoorwegen (NS) from Haarlem to Amsterdam trainsIntercity, NS International | IC Brussel, NS | BUS, Deutsche Bahn, Nederlandse Spoorwegen (NS) trains will get you between Haarlem and Amsterdam from €6. With over 1000 travel companies on Omio, you can find the best train times and tickets for your trip.
Intercity
NS International | IC Brussel
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: Trains from Haarlem to Amsterdam
Find answers to the most common questions about traveling from Haarlem to Amsterdam 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 Amsterdam, this guide helps you travel smarter and with confidence.

popular train stations
Popular train stations from Haarlem to Amsterdam
- 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: 05:50 - 20:59
- Free WiFi in all station areas.
- Located on the ground floor near the front entrance in the eastern walkway, near the stairs to platform 2. Open daily from 07:00 to 01:00.
- De Broodzaak
- Kyoto Sushi & Grill
- Starbucks
- The Doner Company
- Wagamama
- Wurst & Schnitzelhaus
- Smullers
- Burger King
- Grand Café First Class
- Burgerij
- & many more
- The station is fully accessible, including lifts to the platforms.
- NH Collection Amsterdam Barbizon Palace
- Park Plaza Victoria Amsterdam
- Art’otel Amsterdam
- Located in a small white building in front of the station's main entrance and at various points in the main passenger hall.
More options for your journey from Haarlem to Amsterdam
Here are some other resources that might have the information you need

