Cheapest price
$5
Average price
$9
Fastest journey
9 m
Average duration
9 m
Trains per day
738
Distance
17 km
The best way to find a cheap train ticket from Amsterdam to Haarlem is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Amsterdam to Haarlem will cost around $9 if you buy it on the day, but the cheapest tickets can be found for only $5.
Of the 738 trains that leave Amsterdam for Haarlem on Sat, May 24, 124 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sat, May 24 the direct trains cover the 17 km distance in an average of 9 m but if you time it right, some trains will get you there in just 9 m .
On Sat, May 24 the slowest trains will take 9 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.
Provider | Departs | Duration | Arrives | Transfers | Tickets |
---|---|---|---|---|---|
![]() | 6:20 AM Amsterdam Zuid | 0h52 | 7:12 AM Haarlem Station | 1 transfer | |
![]() | 6:20 AM Amsterdam Zuid | 1h00 | 7:20 AM Spaarnwoude | 2 transfers | |
![]() | 6:20 AM Amsterdam Centraal | 0h15 | 6:35 AM Haarlem station | 0 transfersDirect | |
![]() | 6:22 AM Hoofddorp Train Station | 0h44 | 7:06 AM Haarlem Station | 1 transfer | |
![]() | 6:22 AM Amsterdam, Station Holendrecht | 0h43 | 7:05 AM Haarlem Station | 1 transfer | |
![]() | 6:23 AM Hoofddorp Train Station | 0h47 | 7:10 AM Spaarnwoude | 1 transfer | |
![]() | 6:23 AM Hoofddorp Train Station | 0h51 | 7:14 AM Haarlem Station | 1 transfer | |
![]() | 6:24 AM Amsterdam RAI | 1h10 | 7:34 AM Spaarnwoude | 2 transfers | |
![]() | 6:24 AM Amsterdam RAI | 0h59 | 7:23 AM Haarlem Station | 1 transfer | |
![]() | 6:24 AM Amsterdam Lelylaan Train Station | 0h35 | 6:59 AM Haarlem Station | 1 transfer | |
![]() | 6:25 AM Amsterdam, Station Bijlmer Arena | 0h40 | 7:05 AM Haarlem Station | 1 transfer | |
![]() | 6:25 AM Amsterdam, Station Bijlmer Arena | 0h45 | 7:10 AM Spaarnwoude | 1 transfer | |
![]() | 6:25 AM Amsterdam Sloterdijk | 0h10 | 6:35 AM Haarlem Station | 0 transfersDirect | |
![]() | 6:26 AM Amsterdam Centraal | 0h18 | 6:44 AM Haarlem station | 0 transfersDirect | |
![]() | 6:27 AM Amsterdam, Amstel | 0h29 | 6:56 AM Spaarnwoude | 1 transfer | |
![]() | 6:27 AM Amsterdam, Amstel | 0h32 | 6:59 AM Haarlem Station | 1 transfer | |
![]() | 6:28 AM Amsterdam Zuid | 0h55 | 7:23 AM Haarlem Station | 1 transfer | |
![]() | 6:28 AM Amsterdam Zuid | 1h06 | 7:34 AM Spaarnwoude | 2 transfers | |
![]() | 6:30 AM Amsterdam Lelylaan Train Station | 0h35 | 7:05 AM Haarlem Station | 1 transfer | |
![]() | 6:31 AM Amsterdam, Station Holendrecht | 0h50 | 7:21 AM Haarlem Station | 1 transfer | |
![]() | 6:31 AM Amsterdam Sloterdijk | 0h13 | 6:44 AM Haarlem Station | 0 transfersDirect | |
![]() | 6:31 AM Amsterdam Sloterdijk | 0h09 | 6:40 AM Spaarnwoude | 0 transfersDirect | |
![]() | 6:32 AM Amsterdam, Amstel | 0h33 | 7:05 AM Haarlem Station | 1 transfer | |
![]() | 6:32 AM Hoofddorp Train Station | 0h49 | 7:21 AM Haarlem Station | 1 transfer | |
![]() | 6:35 AM Amsterdam Muiderpoort Train Station | 0h30 | 7:05 AM Haarlem Station | 1 transfer | |
![]() | 6:36 AM Amsterdam Lelylaan Train Station | 0h38 | 7:14 AM Haarlem Station | 1 transfer | |
![]() | 6:36 AM Amsterdam Centraal | 0h15 | 6:51 AM Haarlem station | 0 transfersDirect | |
![]() | 6:37 AM Amsterdam RAI | 0h59 | 7:36 AM Haarlem Station | 1 transfer | |
![]() | 6:37 AM Amsterdam RAI | 1h13 | 7:50 AM Spaarnwoude | 2 transfers | |
![]() | 6:40 AM Hoofddorp Train Station | 0h43 | 7:23 AM Haarlem Station | 1 transfer | |
![]() | 6:40 AM Amsterdam Zuid | 0h56 | 7:36 AM Haarlem Station | 1 transfer | |
![]() | 6:40 AM Amsterdam, Station Science Park | 0h30 | 7:10 AM Spaarnwoude | 1 transfer | |
![]() | 6:40 AM Amsterdam, Station Bijlmer Arena | 0h41 | 7:21 AM Haarlem Station | 1 transfer | |
![]() | 6:40 AM Amsterdam, Station Bijlmer Arena | 0h46 | 7:26 AM Spaarnwoude | 1 transfer | |
![]() | 6:41 AM Amsterdam Sloterdijk | 0h10 | 6:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 6:41 AM Amsterdam, Amstel | 0h29 | 7:10 AM Spaarnwoude | 1 transfer | |
![]() | 6:41 AM Amsterdam, Amstel | 0h33 | 7:14 AM Haarlem Station | 1 transfer | |
![]() | 6:41 AM Amsterdam Centraal | 0h18 | 6:59 AM Haarlem station | 0 transfersDirect | |
![]() | 6:43 AM Hoofddorp Train Station | 0h46 | 7:29 AM Haarlem Station | 1 transfer | |
![]() | 6:43 AM Amsterdam Muiderpoort Train Station | 0h31 | 7:14 AM Haarlem Station | 1 transfer | |
![]() | 6:43 AM Amsterdam Muiderpoort Train Station | 0h27 | 7:10 AM Spaarnwoude | 1 transfer | |
![]() | 6:43 AM Hoofddorp Train Station | 0h43 | 7:26 AM Spaarnwoude | 1 transfer | |
![]() | 6:45 AM Amsterdam Lelylaan Train Station | 0h36 | 7:21 AM Haarlem Station | 1 transfer | |
![]() | 6:46 AM Amsterdam Sloterdijk | 0h10 | 6:56 AM Spaarnwoude | 0 transfersDirect | |
![]() | 6:46 AM Amsterdam, Amstel | 0h35 | 7:21 AM Haarlem Station | 1 transfer | |
![]() | 6:46 AM Amsterdam Sloterdijk | 0h13 | 6:59 AM Haarlem Station | 0 transfersDirect | |
![]() | 6:47 AM Hoofddorp Train Station | 0h48 | 7:35 AM Haarlem Station | 1 transfer | |
![]() | 6:49 AM Amsterdam Muiderpoort Train Station | 0h32 | 7:21 AM Haarlem Station | 1 transfer | |
![]() | 6:49 AM Amsterdam Muiderpoort Train Station | 0h37 | 7:26 AM Spaarnwoude | 1 transfer | |
![]() | 6:50 AM Amsterdam Zuid | 0h52 | 7:42 AM Haarlem Station | 1 transfer | |
![]() | 6:50 AM Amsterdam Zuid | 1h00 | 7:50 AM Spaarnwoude | 2 transfers | |
![]() | 6:50 AM Amsterdam Centraal | 0h15 | 7:05 AM Haarlem station | 0 transfersDirect | |
![]() | 6:52 AM Amsterdam, Station Holendrecht | 0h43 | 7:35 AM Haarlem Station | 1 transfer | |
![]() | 6:52 AM Hoofddorp Train Station | 0h44 | 7:36 AM Haarlem Station | 1 transfer | |
![]() | 6:53 AM Hoofddorp Train Station | 0h47 | 7:40 AM Spaarnwoude | 1 transfer | |
![]() | 6:53 AM Hoofddorp Train Station | 0h51 | 7:44 AM Haarlem Station | 1 transfer | |
![]() | 6:54 AM Amsterdam Lelylaan Train Station | 0h35 | 7:29 AM Haarlem Station | 1 transfer | |
![]() | 6:54 AM Amsterdam RAI | 0h59 | 7:53 AM Haarlem Station | 1 transfer | |
![]() | 6:54 AM Amsterdam RAI | 1h10 | 8:04 AM Spaarnwoude | 2 transfers | |
![]() | 6:55 AM Amsterdam Sloterdijk | 0h10 | 7:05 AM Haarlem Station | 0 transfersDirect | |
![]() | 6:55 AM Amsterdam, Station Bijlmer Arena | 0h45 | 7:40 AM Spaarnwoude | 1 transfer | |
![]() | 6:55 AM Amsterdam, Station Bijlmer Arena | 0h40 | 7:35 AM Haarlem Station | 1 transfer | |
![]() | 6:56 AM Amsterdam Centraal | 0h18 | 7:14 AM Haarlem station | 0 transfersDirect | |
![]() | 6:57 AM Amsterdam, Amstel | 0h32 | 7:29 AM Haarlem Station | 1 transfer | |
![]() | 6:57 AM Amsterdam, Amstel | 0h29 | 7:26 AM Spaarnwoude | 1 transfer | |
![]() | 6:58 AM Amsterdam Zuid | 1h06 | 8:04 AM Spaarnwoude | 2 transfers | |
![]() | 6:58 AM Amsterdam Zuid | 0h55 | 7:53 AM Haarlem Station | 1 transfer | |
![]() | 7:00 AM Amsterdam Lelylaan Train Station | 0h35 | 7:35 AM Haarlem Station | 1 transfer | |
![]() | 7:01 AM Amsterdam, Station Holendrecht | 0h50 | 7:51 AM Haarlem Station | 1 transfer | |
![]() | 7:01 AM Amsterdam Sloterdijk | 0h13 | 7:14 AM Haarlem Station | 0 transfersDirect | |
![]() | 7:01 AM Amsterdam Sloterdijk | 0h09 | 7:10 AM Spaarnwoude | 0 transfersDirect | |
![]() | 7:02 AM Amsterdam, Amstel | 0h33 | 7:35 AM Haarlem Station | 1 transfer | |
![]() | 7:02 AM Hoofddorp Train Station | 0h49 | 7:51 AM Haarlem Station | 1 transfer | |
![]() | 7:05 AM Amsterdam Muiderpoort Train Station | 0h30 | 7:35 AM Haarlem Station | 1 transfer | |
![]() | 7:06 AM Amsterdam Lelylaan Train Station | 0h38 | 7:44 AM Haarlem Station | 1 transfer | |
![]() | 7:06 AM Amsterdam Centraal | 0h15 | 7:21 AM Haarlem station | 0 transfersDirect | |
![]() | 7:07 AM Amsterdam RAI | 0h59 | 8:06 AM Haarlem Station | 1 transfer | |
![]() | 7:07 AM Amsterdam RAI | 1h13 | 8:20 AM Spaarnwoude | 2 transfers | |
![]() | 7:10 AM Amsterdam, Station Bijlmer Arena | 0h41 | 7:51 AM Haarlem Station | 1 transfer | |
![]() | 7:10 AM Amsterdam, Station Science Park | 0h30 | 7:40 AM Spaarnwoude | 1 transfer | |
![]() | 7:10 AM Hoofddorp Train Station | 0h43 | 7:53 AM Haarlem Station | 1 transfer | |
![]() | 7:10 AM Amsterdam Zuid | 0h56 | 8:06 AM Haarlem Station | 1 transfer | |
![]() | 7:10 AM Amsterdam, Station Bijlmer Arena | 0h46 | 7:56 AM Spaarnwoude | 1 transfer | |
![]() | 7:11 AM Amsterdam Sloterdijk | 0h10 | 7:21 AM Haarlem Station | 0 transfersDirect | |
![]() | 7:11 AM Amsterdam, Amstel | 0h33 | 7:44 AM Haarlem Station | 1 transfer | |
![]() | 7:11 AM Amsterdam Centraal | 0h18 | 7:29 AM Haarlem station | 0 transfersDirect | |
![]() | 7:11 AM Amsterdam, Amstel | 0h29 | 7:40 AM Spaarnwoude | 1 transfer | |
![]() | 7:13 AM Hoofddorp Train Station | 0h43 | 7:56 AM Spaarnwoude | 1 transfer | |
![]() | 7:13 AM Amsterdam Muiderpoort Train Station | 0h27 | 7:40 AM Spaarnwoude | 1 transfer | |
![]() | 7:13 AM Hoofddorp Train Station | 0h46 | 7:59 AM Haarlem Station | 1 transfer | |
![]() | 7:13 AM Amsterdam Muiderpoort Train Station | 0h31 | 7:44 AM Haarlem Station | 1 transfer | |
![]() | 7:15 AM Amsterdam Lelylaan Train Station | 0h36 | 7:51 AM Haarlem Station | 1 transfer | |
![]() | 7:16 AM Amsterdam Sloterdijk | 0h10 | 7:26 AM Spaarnwoude | 0 transfersDirect | |
![]() | 7:16 AM Amsterdam, Amstel | 0h35 | 7:51 AM Haarlem Station | 1 transfer | |
![]() | 7:16 AM Amsterdam Sloterdijk | 0h13 | 7:29 AM Haarlem Station | 0 transfersDirect | |
![]() | 7:17 AM Hoofddorp Train Station | 0h48 | 8:05 AM Haarlem Station | 1 transfer | |
![]() | 7:19 AM Amsterdam Muiderpoort Train Station | 0h37 | 7:56 AM Spaarnwoude | 1 transfer | |
![]() | 7:19 AM Amsterdam Muiderpoort Train Station | 0h32 | 7:51 AM Haarlem Station | 1 transfer | |
![]() | 7:20 AM Amsterdam Zuid | 1h00 | 8:20 AM Spaarnwoude | 2 transfers | |
![]() | 7:20 AM Amsterdam Zuid | 0h52 | 8:12 AM Haarlem Station | 1 transfer | |
![]() | 7:20 AM Amsterdam Centraal | 0h15 | 7:35 AM Haarlem station | 0 transfersDirect | |
![]() | 7:22 AM Hoofddorp Train Station | 0h44 | 8:06 AM Haarlem Station | 1 transfer | |
![]() | 7:22 AM Amsterdam, Station Holendrecht | 0h43 | 8:05 AM Haarlem Station | 1 transfer | |
![]() | 7:23 AM Hoofddorp Train Station | 0h47 | 8:10 AM Spaarnwoude | 1 transfer | |
![]() | 7:23 AM Hoofddorp Train Station | 0h51 | 8:14 AM Haarlem Station | 1 transfer | |
![]() | 7:24 AM Amsterdam RAI | 0h59 | 8:23 AM Haarlem Station | 1 transfer | |
![]() | 7:24 AM Amsterdam Lelylaan Train Station | 0h35 | 7:59 AM Haarlem Station | 1 transfer | |
![]() | 7:24 AM Amsterdam RAI | 1h10 | 8:34 AM Spaarnwoude | 2 transfers | |
![]() | 7:25 AM Amsterdam, Station Bijlmer Arena | 0h45 | 8:10 AM Spaarnwoude | 1 transfer | |
![]() | 7:25 AM Amsterdam Sloterdijk | 0h10 | 7:35 AM Haarlem Station | 0 transfersDirect | |
![]() | 7:25 AM Amsterdam, Station Bijlmer Arena | 0h40 | 8:05 AM Haarlem Station | 1 transfer | |
![]() | 7:26 AM Amsterdam Centraal | 0h18 | 7:44 AM Haarlem station | 0 transfersDirect | |
![]() | 7:27 AM Amsterdam, Amstel | 0h32 | 7:59 AM Haarlem Station | 1 transfer | |
![]() | 7:27 AM Amsterdam, Amstel | 0h29 | 7:56 AM Spaarnwoude | 1 transfer | |
![]() | 7:28 AM Amsterdam Zuid | 1h06 | 8:34 AM Spaarnwoude | 2 transfers | |
![]() | 7:28 AM Amsterdam Zuid | 0h55 | 8:23 AM Haarlem Station | 1 transfer | |
![]() | 7:30 AM Amsterdam Lelylaan Train Station | 0h35 | 8:05 AM Haarlem Station | 1 transfer | |
![]() | 7:31 AM Amsterdam Sloterdijk | 0h13 | 7:44 AM Haarlem Station | 0 transfersDirect | |
![]() | 7:31 AM Amsterdam, Station Holendrecht | 0h50 | 8:21 AM Haarlem Station | 1 transfer | |
![]() | 7:31 AM Amsterdam Sloterdijk | 0h09 | 7:40 AM Spaarnwoude | 0 transfersDirect | |
![]() | 7:32 AM Amsterdam, Amstel | 0h33 | 8:05 AM Haarlem Station | 1 transfer | |
![]() | 7:32 AM Hoofddorp Train Station | 0h49 | 8:21 AM Haarlem Station | 1 transfer | |
![]() | 7:35 AM Amsterdam Muiderpoort Train Station | 0h30 | 8:05 AM Haarlem Station | 1 transfer | |
![]() | 7:36 AM Amsterdam Lelylaan Train Station | 0h38 | 8:14 AM Haarlem Station | 1 transfer | |
![]() | 7:36 AM Amsterdam Centraal | 0h15 | 7:51 AM Haarlem station | 0 transfersDirect | |
![]() | 7:37 AM Amsterdam RAI | 0h59 | 8:36 AM Haarlem Station | 1 transfer | |
![]() | 7:37 AM Amsterdam RAI | 1h13 | 8:50 AM Spaarnwoude | 2 transfers | |
![]() | 7:40 AM Amsterdam, Station Bijlmer Arena | 0h46 | 8:26 AM Spaarnwoude | 1 transfer | |
![]() | 7:40 AM Amsterdam, Station Bijlmer Arena | 0h41 | 8:21 AM Haarlem Station | 1 transfer | |
![]() | 7:40 AM Amsterdam Zuid | 0h56 | 8:36 AM Haarlem Station | 1 transfer | |
![]() | 7:40 AM Amsterdam, Station Science Park | 0h30 | 8:10 AM Spaarnwoude | 1 transfer | |
![]() | 7:40 AM Hoofddorp Train Station | 0h43 | 8:23 AM Haarlem Station | 1 transfer | |
![]() | 7:41 AM Amsterdam Centraal | 0h18 | 7:59 AM Haarlem station | 0 transfersDirect | |
![]() | 7:41 AM Amsterdam, Amstel | 0h33 | 8:14 AM Haarlem Station | 1 transfer | |
![]() | 7:41 AM Amsterdam Sloterdijk | 0h10 | 7:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 7:41 AM Amsterdam, Amstel | 0h29 | 8:10 AM Spaarnwoude | 1 transfer | |
![]() | 7:43 AM Hoofddorp Train Station | 0h46 | 8:29 AM Haarlem Station | 1 transfer | |
![]() | 7:43 AM Amsterdam Muiderpoort Train Station | 0h31 | 8:14 AM Haarlem Station | 1 transfer | |
![]() | 7:43 AM Hoofddorp Train Station | 0h43 | 8:26 AM Spaarnwoude | 1 transfer | |
![]() | 7:43 AM Amsterdam Muiderpoort Train Station | 0h27 | 8:10 AM Spaarnwoude | 1 transfer | |
![]() | 7:45 AM Amsterdam Lelylaan Train Station | 0h36 | 8:21 AM Haarlem Station | 1 transfer | |
![]() | 7:46 AM Amsterdam Sloterdijk | 0h10 | 7:56 AM Spaarnwoude | 0 transfersDirect | |
![]() | 7:46 AM Amsterdam, Amstel | 0h35 | 8:21 AM Haarlem Station | 1 transfer | |
![]() | 7:46 AM Amsterdam Sloterdijk | 0h13 | 7:59 AM Haarlem Station | 0 transfersDirect | |
![]() | 7:47 AM Hoofddorp Train Station | 0h48 | 8:35 AM Haarlem Station | 1 transfer | |
![]() | 7:49 AM Amsterdam Muiderpoort Train Station | 0h32 | 8:21 AM Haarlem Station | 1 transfer | |
![]() | 7:49 AM Amsterdam Muiderpoort Train Station | 0h37 | 8:26 AM Spaarnwoude | 1 transfer | |
![]() | 7:50 AM Amsterdam Zuid | 0h52 | 8:42 AM Haarlem Station | 1 transfer | |
![]() | 7:50 AM Amsterdam Zuid | 1h00 | 8:50 AM Spaarnwoude | 2 transfers | |
![]() | 7:50 AM Amsterdam Centraal | 0h15 | 8:05 AM Haarlem station | 0 transfersDirect | |
![]() | 7:52 AM Amsterdam, Station Holendrecht | 0h43 | 8:35 AM Haarlem Station | 1 transfer | |
![]() | 7:52 AM Hoofddorp Train Station | 0h44 | 8:36 AM Haarlem Station | 1 transfer | |
![]() | 7:53 AM Hoofddorp Train Station | 0h51 | 8:44 AM Haarlem Station | 1 transfer | |
![]() | 7:53 AM Hoofddorp Train Station | 0h47 | 8:40 AM Spaarnwoude | 1 transfer | |
![]() | 7:54 AM Amsterdam Lelylaan Train Station | 0h35 | 8:29 AM Haarlem Station | 1 transfer | |
![]() | 7:54 AM Amsterdam RAI | 1h10 | 9:04 AM Spaarnwoude | 2 transfers | |
![]() | 7:54 AM Amsterdam RAI | 0h59 | 8:53 AM Haarlem Station | 1 transfer | |
![]() | 7:55 AM Amsterdam, Station Bijlmer Arena | 0h45 | 8:40 AM Spaarnwoude | 1 transfer | |
![]() | 7:55 AM Amsterdam, Station Bijlmer Arena | 0h40 | 8:35 AM Haarlem Station | 1 transfer | |
![]() | 7:55 AM Amsterdam Sloterdijk | 0h10 | 8:05 AM Haarlem Station | 0 transfersDirect | |
![]() | 7:56 AM Amsterdam Centraal | 0h18 | 8:14 AM Haarlem station | 0 transfersDirect | |
![]() | 7:57 AM Amsterdam, Amstel | 0h32 | 8:29 AM Haarlem Station | 1 transfer | |
![]() | 7:57 AM Amsterdam, Amstel | 0h29 | 8:26 AM Spaarnwoude | 1 transfer | |
![]() | 7:58 AM Amsterdam Zuid | 1h06 | 9:04 AM Spaarnwoude | 2 transfers | |
![]() | 7:58 AM Amsterdam Zuid | 0h55 | 8:53 AM Haarlem Station | 1 transfer | |
![]() | 8:00 AM Amsterdam Lelylaan Train Station | 0h35 | 8:35 AM Haarlem Station | 1 transfer | |
![]() | 8:01 AM Amsterdam Sloterdijk | 0h09 | 8:10 AM Spaarnwoude | 0 transfersDirect | |
![]() | 8:01 AM Amsterdam, Station Holendrecht | 0h50 | 8:51 AM Haarlem Station | 1 transfer | |
![]() | 8:01 AM Amsterdam Sloterdijk | 0h13 | 8:14 AM Haarlem Station | 0 transfersDirect | |
![]() | 8:02 AM Amsterdam, Amstel | 0h33 | 8:35 AM Haarlem Station | 1 transfer | |
![]() | 8:02 AM Hoofddorp Train Station | 0h49 | 8:51 AM Haarlem Station | 1 transfer | |
![]() | 8:05 AM Amsterdam Muiderpoort Train Station | 0h30 | 8:35 AM Haarlem Station | 1 transfer | |
![]() | 8:06 AM Amsterdam Lelylaan Train Station | 0h38 | 8:44 AM Haarlem Station | 1 transfer | |
![]() | 8:06 AM Amsterdam Centraal | 0h15 | 8:21 AM Haarlem station | 0 transfersDirect | |
![]() | 8:07 AM Amsterdam RAI | 1h13 | 9:20 AM Spaarnwoude | 2 transfers | |
![]() | 8:07 AM Amsterdam RAI | 0h59 | 9:06 AM Haarlem Station | 1 transfer | |
![]() | 8:10 AM Hoofddorp Train Station | 0h43 | 8:53 AM Haarlem Station | 1 transfer | |
![]() | 8:10 AM Amsterdam, Station Bijlmer Arena | 0h46 | 8:56 AM Spaarnwoude | 1 transfer | |
![]() | 8:10 AM Amsterdam, Station Science Park | 0h30 | 8:40 AM Spaarnwoude | 1 transfer | |
![]() | 8:10 AM Amsterdam, Station Bijlmer Arena | 0h41 | 8:51 AM Haarlem Station | 1 transfer | |
![]() | 8:10 AM Amsterdam Zuid | 0h56 | 9:06 AM Haarlem Station | 1 transfer | |
![]() | 8:11 AM Amsterdam, Amstel | 0h29 | 8:40 AM Spaarnwoude | 1 transfer | |
![]() | 8:11 AM Amsterdam, Amstel | 0h33 | 8:44 AM Haarlem Station | 1 transfer | |
![]() | 8:11 AM Amsterdam Centraal | 0h18 | 8:29 AM Haarlem station | 0 transfersDirect | |
![]() | 8:11 AM Amsterdam Sloterdijk | 0h10 | 8:21 AM Haarlem Station | 0 transfersDirect | |
![]() | 8:13 AM Hoofddorp Train Station | 0h43 | 8:56 AM Spaarnwoude | 1 transfer | |
![]() | 8:13 AM Amsterdam Muiderpoort Train Station | 0h31 | 8:44 AM Haarlem Station | 1 transfer | |
![]() | 8:13 AM Hoofddorp Train Station | 0h46 | 8:59 AM Haarlem Station | 1 transfer | |
![]() | 8:13 AM Amsterdam Muiderpoort Train Station | 0h27 | 8:40 AM Spaarnwoude | 1 transfer | |
![]() | 8:15 AM Amsterdam Lelylaan Train Station | 0h36 | 8:51 AM Haarlem Station | 1 transfer | |
![]() | 8:16 AM Amsterdam Sloterdijk | 0h10 | 8:26 AM Spaarnwoude | 0 transfersDirect | |
![]() | 8:16 AM Amsterdam Sloterdijk | 0h13 | 8:29 AM Haarlem Station | 0 transfersDirect | |
![]() | 8:16 AM Amsterdam, Amstel | 0h35 | 8:51 AM Haarlem Station | 1 transfer | |
![]() | 8:17 AM Hoofddorp Train Station | 0h48 | 9:05 AM Haarlem Station | 1 transfer | |
![]() | 8:19 AM Amsterdam Muiderpoort Train Station | 0h37 | 8:56 AM Spaarnwoude | 1 transfer | |
![]() | 8:19 AM Amsterdam Muiderpoort Train Station | 0h32 | 8:51 AM Haarlem Station | 1 transfer | |
![]() | 8:19 AM Amsterdam Zuid | 0h53 | 9:12 AM Haarlem Station | 1 transfer | |
![]() | 8:19 AM Amsterdam Zuid | 1h01 | 9:20 AM Spaarnwoude | 2 transfers | |
![]() | 8:20 AM Amsterdam Centraal | 0h15 | 8:35 AM Haarlem station | 0 transfersDirect | |
![]() | 8:22 AM Hoofddorp Train Station | 0h44 | 9:06 AM Haarlem Station | 1 transfer | |
![]() | 8:22 AM Amsterdam, Station Holendrecht | 0h43 | 9:05 AM Haarlem Station | 1 transfer | |
![]() | 8:23 AM Hoofddorp Train Station | 0h51 | 9:14 AM Haarlem Station | 1 transfer | |
![]() | 8:23 AM Hoofddorp Train Station | 0h47 | 9:10 AM Spaarnwoude | 1 transfer | |
![]() | 8:24 AM Amsterdam RAI | 0h59 | 9:23 AM Haarlem Station | 1 transfer | |
![]() | 8:24 AM Amsterdam Lelylaan Train Station | 0h35 | 8:59 AM Haarlem Station | 1 transfer | |
![]() | 8:24 AM Amsterdam RAI | 1h10 | 9:34 AM Spaarnwoude | 2 transfers | |
![]() | 8:25 AM Amsterdam, Station Bijlmer Arena | 0h45 | 9:10 AM Spaarnwoude | 1 transfer | |
![]() | 8:25 AM Amsterdam, Station Bijlmer Arena | 0h40 | 9:05 AM Haarlem Station | 1 transfer | |
![]() | 8:25 AM Amsterdam Sloterdijk | 0h10 | 8:35 AM Haarlem Station | 0 transfersDirect | |
![]() | 8:26 AM Amsterdam Centraal | 0h18 | 8:44 AM Haarlem station | 0 transfersDirect | |
![]() | 8:27 AM Amsterdam, Amstel | 0h32 | 8:59 AM Haarlem Station | 1 transfer | |
![]() | 8:27 AM Amsterdam, Amstel | 0h29 | 8:56 AM Spaarnwoude | 1 transfer | |
![]() | 8:28 AM Amsterdam Zuid | 1h06 | 9:34 AM Spaarnwoude | 2 transfers | |
![]() | 8:28 AM Amsterdam Zuid | 0h55 | 9:23 AM Haarlem Station | 1 transfer | |
![]() | 8:30 AM Amsterdam Lelylaan Train Station | 0h35 | 9:05 AM Haarlem Station | 1 transfer | |
![]() | 8:31 AM Amsterdam Sloterdijk | 0h09 | 8:40 AM Spaarnwoude | 0 transfersDirect | |
![]() | 8:31 AM Amsterdam Sloterdijk | 0h13 | 8:44 AM Haarlem Station | 0 transfersDirect | |
![]() | 8:32 AM Hoofddorp Train Station | 0h49 | 9:21 AM Haarlem Station | 1 transfer | |
![]() | 8:32 AM Amsterdam, Amstel | 0h33 | 9:05 AM Haarlem Station | 1 transfer | |
![]() | 8:35 AM Amsterdam Muiderpoort Train Station | 0h30 | 9:05 AM Haarlem Station | 1 transfer | |
![]() | 8:36 AM Amsterdam Lelylaan Train Station | 0h38 | 9:14 AM Haarlem Station | 1 transfer | |
![]() | 8:36 AM Amsterdam Centraal | 0h15 | 8:51 AM Haarlem station | 0 transfersDirect | |
![]() | 8:37 AM Amsterdam RAI | 0h59 | 9:36 AM Haarlem Station | 1 transfer | |
![]() | 8:37 AM Amsterdam RAI | 1h14 | 9:51 AM Spaarnwoude | 2 transfers | |
![]() | 8:40 AM Amsterdam Zuid | 0h56 | 9:36 AM Haarlem Station | 1 transfer | |
![]() | 8:40 AM Amsterdam, Station Science Park | 0h30 | 9:10 AM Spaarnwoude | 1 transfer | |
![]() | 8:40 AM Hoofddorp Train Station | 0h43 | 9:23 AM Haarlem Station | 1 transfer | |
![]() | 8:41 AM Amsterdam Sloterdijk | 0h10 | 8:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 8:41 AM Amsterdam, Amstel | 0h33 | 9:14 AM Haarlem Station | 1 transfer | |
![]() | 8:41 AM Amsterdam Centraal | 0h18 | 8:59 AM Haarlem station | 0 transfersDirect | |
![]() | 8:41 AM Amsterdam, Amstel | 0h29 | 9:10 AM Spaarnwoude | 1 transfer | |
![]() | 8:43 AM Amsterdam Muiderpoort Train Station | 0h27 | 9:10 AM Spaarnwoude | 1 transfer | |
![]() | 8:43 AM Amsterdam Muiderpoort Train Station | 0h31 | 9:14 AM Haarlem Station | 1 transfer | |
![]() | 8:43 AM Hoofddorp Train Station | 0h43 | 9:26 AM Spaarnwoude | 1 transfer | |
![]() | 8:43 AM Hoofddorp Train Station | 0h46 | 9:29 AM Haarlem Station | 1 transfer | |
![]() | 8:45 AM Amsterdam Lelylaan Train Station | 0h36 | 9:21 AM Haarlem Station | 1 transfer | |
![]() | 8:46 AM Amsterdam Sloterdijk | 0h13 | 8:59 AM Haarlem Station | 0 transfersDirect | |
![]() | 8:46 AM Amsterdam Sloterdijk | 0h10 | 8:56 AM Spaarnwoude | 0 transfersDirect | |
![]() | 8:47 AM Hoofddorp Train Station | 0h48 | 9:35 AM Haarlem Station | 1 transfer | |
![]() | 8:49 AM Amsterdam Zuid | 1h02 | 9:51 AM Spaarnwoude | 2 transfers | |
![]() | 8:49 AM Amsterdam Zuid | 0h53 | 9:42 AM Haarlem Station | 1 transfer | |
![]() | 8:50 AM Amsterdam Centraal | 0h15 | 9:05 AM Haarlem station | 0 transfersDirect | |
![]() | 8:52 AM Hoofddorp Train Station | 0h44 | 9:36 AM Haarlem Station | 1 transfer | |
![]() | 8:52 AM Amsterdam, Station Holendrecht | 0h43 | 9:35 AM Haarlem Station | 1 transfer | |
![]() | 8:53 AM Hoofddorp Train Station | 0h51 | 9:44 AM Haarlem Station | 1 transfer | |
![]() | 8:53 AM Hoofddorp Train Station | 0h47 | 9:40 AM Spaarnwoude | 1 transfer | |
![]() | 8:54 AM Amsterdam RAI | 0h59 | 9:53 AM Haarlem Station | 1 transfer | |
![]() | 8:54 AM Amsterdam RAI | 1h10 | 10:04 AM Spaarnwoude | 2 transfers | |
![]() | 8:54 AM Amsterdam Lelylaan Train Station | 0h35 | 9:29 AM Haarlem Station | 1 transfer | |
![]() | 8:55 AM Amsterdam, Station Bijlmer Arena | 0h45 | 9:40 AM Spaarnwoude | 1 transfer | |
![]() | 8:55 AM Amsterdam, Station Bijlmer Arena | 0h40 | 9:35 AM Haarlem Station | 1 transfer | |
![]() | 8:55 AM Amsterdam Sloterdijk | 0h10 | 9:05 AM Haarlem Station | 0 transfersDirect | |
![]() | 8:56 AM Amsterdam Centraal | 0h18 | 9:14 AM Haarlem station | 0 transfersDirect | |
![]() | 8:57 AM Amsterdam, Amstel | 0h29 | 9:26 AM Spaarnwoude | 1 transfer | |
![]() | 8:57 AM Amsterdam, Amstel | 0h32 | 9:29 AM Haarlem Station | 1 transfer | |
![]() | 8:58 AM Amsterdam, Station Science Park | 0h28 | 9:26 AM Spaarnwoude | 1 transfer | |
![]() | 8:58 AM Amsterdam Zuid | 0h55 | 9:53 AM Haarlem Station | 1 transfer | |
![]() | 8:58 AM Amsterdam Zuid | 1h06 | 10:04 AM Spaarnwoude | 2 transfers | |
![]() | 9:00 AM Amsterdam Lelylaan Train Station | 0h35 | 9:35 AM Haarlem Station | 1 transfer | |
![]() | 9:01 AM Amsterdam Sloterdijk | 0h09 | 9:10 AM Spaarnwoude | 0 transfersDirect | |
![]() | 9:01 AM Amsterdam Muiderpoort Train Station | 0h28 | 9:29 AM Haarlem Station | 1 transfer | |
![]() | 9:01 AM Amsterdam Sloterdijk | 0h13 | 9:14 AM Haarlem Station | 0 transfersDirect | |
![]() | 9:01 AM Amsterdam Muiderpoort Train Station | 0h25 | 9:26 AM Spaarnwoude | 1 transfer | |
![]() | 9:02 AM Hoofddorp Train Station | 0h49 | 9:51 AM Haarlem Station | 1 transfer | |
![]() | 9:02 AM Amsterdam, Amstel | 0h33 | 9:35 AM Haarlem Station | 1 transfer | |
![]() | 9:05 AM Amsterdam Muiderpoort Train Station | 0h30 | 9:35 AM Haarlem Station | 1 transfer | |
![]() | 9:06 AM Amsterdam Lelylaan Train Station | 0h38 | 9:44 AM Haarlem Station | 1 transfer | |
![]() | 9:06 AM Amsterdam Centraal | 0h15 | 9:21 AM Haarlem station | 0 transfersDirect | |
![]() | 9:07 AM Amsterdam RAI | 1h13 | 10:20 AM Spaarnwoude | 2 transfers | |
![]() | 9:07 AM Amsterdam RAI | 0h59 | 10:06 AM Haarlem Station | 1 transfer | |
![]() | 9:10 AM Amsterdam Zuid | 0h56 | 10:06 AM Haarlem Station | 1 transfer | |
![]() | 9:10 AM Amsterdam, Station Science Park | 0h30 | 9:40 AM Spaarnwoude | 1 transfer | |
![]() | 9:10 AM Hoofddorp Train Station | 0h43 | 9:53 AM Haarlem Station | 1 transfer | |
![]() | 9:11 AM Amsterdam, Amstel | 0h33 | 9:44 AM Haarlem Station | 1 transfer | |
![]() | 9:11 AM Amsterdam Centraal | 0h18 | 9:29 AM Haarlem station | 0 transfersDirect | |
![]() | 9:11 AM Amsterdam, Amstel | 0h29 | 9:40 AM Spaarnwoude | 1 transfer | |
![]() | 9:11 AM Amsterdam Sloterdijk | 0h10 | 9:21 AM Haarlem Station | 0 transfersDirect | |
![]() | 9:13 AM Amsterdam Muiderpoort Train Station | 0h27 | 9:40 AM Spaarnwoude | 1 transfer | |
![]() | 9:13 AM Amsterdam Muiderpoort Train Station | 0h31 | 9:44 AM Haarlem Station | 1 transfer | |
![]() | 9:13 AM Hoofddorp Train Station | 0h46 | 9:59 AM Haarlem Station | 1 transfer | |
![]() | 9:13 AM Hoofddorp Train Station | 0h43 | 9:56 AM Spaarnwoude | 1 transfer | |
![]() | 9:15 AM Amsterdam Lelylaan Train Station | 0h36 | 9:51 AM Haarlem Station | 1 transfer | |
![]() | 9:16 AM Amsterdam Sloterdijk | 0h10 | 9:26 AM Spaarnwoude | 0 transfersDirect | |
![]() | 9:16 AM Amsterdam Sloterdijk | 0h13 | 9:29 AM Haarlem Station | 0 transfersDirect | |
![]() | 9:17 AM Hoofddorp Train Station | 0h48 | 10:05 AM Haarlem Station | 1 transfer | |
![]() | 9:20 AM Amsterdam Zuid | 1h00 | 10:20 AM Spaarnwoude | 2 transfers | |
![]() | 9:20 AM Amsterdam Zuid | 0h52 | 10:12 AM Haarlem Station | 1 transfer | |
![]() | 9:20 AM Amsterdam Centraal | 0h15 | 9:35 AM Haarlem station | 0 transfersDirect | |
![]() | 9:22 AM Hoofddorp Train Station | 0h44 | 10:06 AM Haarlem Station | 1 transfer | |
![]() | 9:22 AM Amsterdam, Station Holendrecht | 0h43 | 10:05 AM Haarlem Station | 1 transfer | |
![]() | 9:23 AM Hoofddorp Train Station | 0h47 | 10:10 AM Spaarnwoude | 1 transfer | |
![]() | 9:23 AM Hoofddorp Train Station | 0h51 | 10:14 AM Haarlem Station | 1 transfer | |
![]() | 9:24 AM Amsterdam RAI | 1h10 | 10:34 AM Spaarnwoude | 2 transfers | |
![]() | 9:24 AM Amsterdam Lelylaan Train Station | 0h35 | 9:59 AM Haarlem Station | 1 transfer | |
![]() | 9:24 AM Amsterdam RAI | 0h59 | 10:23 AM Haarlem Station | 1 transfer | |
![]() | 9:25 AM Amsterdam Sloterdijk | 0h10 | 9:35 AM Haarlem Station | 0 transfersDirect | |
![]() | 9:25 AM Amsterdam, Station Bijlmer Arena | 0h40 | 10:05 AM Haarlem Station | 1 transfer | |
![]() | 9:25 AM Amsterdam, Station Bijlmer Arena | 0h45 | 10:10 AM Spaarnwoude | 1 transfer | |
![]() | 9:26 AM Amsterdam Centraal | 0h18 | 9:44 AM Haarlem station | 0 transfersDirect | |
![]() | 9:27 AM Amsterdam, Amstel | 0h29 | 9:56 AM Spaarnwoude | 1 transfer | |
![]() | 9:27 AM Amsterdam, Amstel | 0h32 | 9:59 AM Haarlem Station | 1 transfer | |
![]() | 9:28 AM Amsterdam Zuid | 0h55 | 10:23 AM Haarlem Station | 1 transfer | |
![]() | 9:28 AM Amsterdam Zuid | 1h06 | 10:34 AM Spaarnwoude | 2 transfers | |
![]() | 9:30 AM Amsterdam Lelylaan Train Station | 0h35 | 10:05 AM Haarlem Station | 1 transfer | |
![]() | 9:31 AM Amsterdam Sloterdijk | 0h09 | 9:40 AM Spaarnwoude | 0 transfersDirect | |
![]() | 9:31 AM Amsterdam Sloterdijk | 0h13 | 9:44 AM Haarlem Station | 0 transfersDirect | |
![]() | 9:32 AM Amsterdam, Amstel | 0h33 | 10:05 AM Haarlem Station | 1 transfer | |
![]() | 9:32 AM Hoofddorp Train Station | 0h49 | 10:21 AM Haarlem Station | 1 transfer | |
![]() | 9:35 AM Amsterdam Muiderpoort Train Station | 0h30 | 10:05 AM Haarlem Station | 1 transfer | |
![]() | 9:36 AM Amsterdam Lelylaan Train Station | 0h38 | 10:14 AM Haarlem Station | 1 transfer | |
![]() | 9:36 AM Amsterdam Centraal | 0h15 | 9:51 AM Haarlem station | 0 transfersDirect | |
![]() | 9:37 AM Amsterdam RAI | 1h14 | 10:51 AM Spaarnwoude | 2 transfers | |
![]() | 9:37 AM Amsterdam RAI | 0h59 | 10:36 AM Haarlem Station | 1 transfer | |
![]() | 9:40 AM Amsterdam, Station Science Park | 0h30 | 10:10 AM Spaarnwoude | 1 transfer | |
![]() | 9:40 AM Amsterdam Zuid | 0h56 | 10:36 AM Haarlem Station | 1 transfer | |
![]() | 9:40 AM Hoofddorp Train Station | 0h43 | 10:23 AM Haarlem Station | 1 transfer | |
![]() | 9:41 AM Amsterdam Sloterdijk | 0h10 | 9:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 9:41 AM Amsterdam, Amstel | 0h29 | 10:10 AM Spaarnwoude | 1 transfer | |
![]() | 9:41 AM Amsterdam, Amstel | 0h33 | 10:14 AM Haarlem Station | 1 transfer | |
![]() | 9:41 AM Amsterdam Centraal | 0h18 | 9:59 AM Haarlem station | 0 transfersDirect | |
![]() | 9:43 AM Amsterdam Muiderpoort Train Station | 0h31 | 10:14 AM Haarlem Station | 1 transfer | |
![]() | 9:43 AM Amsterdam Muiderpoort Train Station | 0h27 | 10:10 AM Spaarnwoude | 1 transfer | |
![]() | 9:43 AM Hoofddorp Train Station | 0h46 | 10:29 AM Haarlem Station | 1 transfer | |
![]() | 9:43 AM Hoofddorp Train Station | 0h43 | 10:26 AM Spaarnwoude | 1 transfer | |
![]() | 9:45 AM Amsterdam Lelylaan Train Station | 0h36 | 10:21 AM Haarlem Station | 1 transfer | |
![]() | 9:46 AM Amsterdam Sloterdijk | 0h10 | 9:56 AM Spaarnwoude | 0 transfersDirect | |
![]() | 9:46 AM Amsterdam Sloterdijk | 0h13 | 9:59 AM Haarlem Station | 0 transfersDirect | |
![]() | 9:47 AM Hoofddorp Train Station | 0h48 | 10:35 AM Haarlem Station | 1 transfer | |
![]() | 9:49 AM Amsterdam Zuid | 0h53 | 10:42 AM Haarlem Station | 1 transfer | |
![]() | 9:49 AM Amsterdam Zuid | 1h02 | 10:51 AM Spaarnwoude | 2 transfers | |
![]() | 9:50 AM Amsterdam Centraal | 0h15 | 10:05 AM Haarlem station | 0 transfersDirect | |
![]() | 9:52 AM Hoofddorp Train Station | 0h44 | 10:36 AM Haarlem Station | 1 transfer | |
![]() | 9:52 AM Amsterdam, Station Holendrecht | 0h43 | 10:35 AM Haarlem Station | 1 transfer | |
![]() | 9:53 AM Hoofddorp Train Station | 0h51 | 10:44 AM Haarlem Station | 1 transfer | |
![]() | 9:53 AM Hoofddorp Train Station | 0h47 | 10:40 AM Spaarnwoude | 1 transfer | |
![]() | 9:54 AM Amsterdam RAI | 0h59 | 10:53 AM Haarlem Station | 1 transfer | |
![]() | 9:54 AM Amsterdam Lelylaan Train Station | 0h35 | 10:29 AM Haarlem Station | 1 transfer | |
![]() | 9:54 AM Amsterdam RAI | 1h10 | 11:04 AM Spaarnwoude | 2 transfers | |
![]() | 9:55 AM Amsterdam, Station Bijlmer Arena | 0h40 | 10:35 AM Haarlem Station | 1 transfer | |
![]() | 9:55 AM Amsterdam, Station Bijlmer Arena | 0h45 | 10:40 AM Spaarnwoude | 1 transfer | |
![]() | 9:55 AM Amsterdam Sloterdijk | 0h10 | 10:05 AM Haarlem Station | 0 transfersDirect | |
![]() | 9:56 AM Amsterdam Centraal | 0h18 | 10:14 AM Haarlem station | 0 transfersDirect | |
![]() | 9:57 AM Amsterdam, Amstel | 0h29 | 10:26 AM Spaarnwoude | 1 transfer | |
![]() | 9:57 AM Amsterdam, Amstel | 0h32 | 10:29 AM Haarlem Station | 1 transfer | |
![]() | 9:58 AM Amsterdam Zuid | 0h55 | 10:53 AM Haarlem Station | 1 transfer | |
![]() | 9:58 AM Amsterdam Zuid | 1h06 | 11:04 AM Spaarnwoude | 2 transfers | |
![]() | 10:00 AM Amsterdam Lelylaan Train Station | 0h35 | 10:35 AM Haarlem Station | 1 transfer | |
![]() | 10:01 AM Amsterdam Sloterdijk | 0h13 | 10:14 AM Haarlem Station | 0 transfersDirect | |
![]() | 10:01 AM Amsterdam Sloterdijk | 0h09 | 10:10 AM Spaarnwoude | 0 transfersDirect | |
![]() | 10:02 AM Amsterdam, Amstel | 0h33 | 10:35 AM Haarlem Station | 1 transfer | |
![]() | 10:02 AM Hoofddorp Train Station | 0h49 | 10:51 AM Haarlem Station | 1 transfer | |
![]() | 10:05 AM Amsterdam Muiderpoort Train Station | 0h30 | 10:35 AM Haarlem Station | 1 transfer | |
![]() | 10:06 AM Amsterdam Lelylaan Train Station | 0h38 | 10:44 AM Haarlem Station | 1 transfer | |
![]() | 10:07 AM Amsterdam RAI | 1h13 | 11:20 AM Spaarnwoude | 2 transfers | |
![]() | 10:07 AM Amsterdam RAI | 0h59 | 11:06 AM Haarlem Station | 1 transfer | |
![]() | 10:10 AM Amsterdam, Station Science Park | 0h30 | 10:40 AM Spaarnwoude | 1 transfer | |
![]() | 10:10 AM Amsterdam Zuid | 0h56 | 11:06 AM Haarlem Station | 1 transfer | |
![]() | 10:10 AM Hoofddorp Train Station | 0h43 | 10:53 AM Haarlem Station | 1 transfer | |
![]() | 10:11 AM Amsterdam, Amstel | 0h29 | 10:40 AM Spaarnwoude | 1 transfer | |
![]() | 10:11 AM Amsterdam, Amstel | 0h33 | 10:44 AM Haarlem Station | 1 transfer | |
![]() | 10:11 AM Amsterdam Sloterdijk | 0h10 | 10:21 AM Haarlem Station | 0 transfersDirect | |
![]() | 10:13 AM Amsterdam Muiderpoort Train Station | 0h27 | 10:40 AM Spaarnwoude | 1 transfer | |
![]() | 10:13 AM Hoofddorp Train Station | 0h46 | 10:59 AM Haarlem Station | 1 transfer | |
![]() | 10:13 AM Amsterdam Muiderpoort Train Station | 0h31 | 10:44 AM Haarlem Station | 1 transfer | |
![]() | 10:13 AM Hoofddorp Train Station | 0h43 | 10:56 AM Spaarnwoude | 1 transfer | |
![]() | 10:15 AM Amsterdam Lelylaan Train Station | 0h36 | 10:51 AM Haarlem Station | 1 transfer | |
![]() | 10:16 AM Amsterdam Sloterdijk | 0h10 | 10:26 AM Spaarnwoude | 0 transfersDirect | |
![]() | 10:16 AM Amsterdam Sloterdijk | 0h13 | 10:29 AM Haarlem Station | 0 transfersDirect | |
![]() | 10:17 AM Hoofddorp Train Station | 0h48 | 11:05 AM Haarlem Station | 1 transfer | |
![]() | 10:19 AM Amsterdam Zuid | 0h53 | 11:12 AM Haarlem Station | 1 transfer | |
![]() | 10:19 AM Amsterdam Zuid | 1h01 | 11:20 AM Spaarnwoude | 2 transfers | |
![]() | 10:22 AM Hoofddorp Train Station | 0h44 | 11:06 AM Haarlem Station | 1 transfer | |
![]() | 10:22 AM Amsterdam, Station Holendrecht | 0h43 | 11:05 AM Haarlem Station | 1 transfer | |
![]() | 10:23 AM Hoofddorp Train Station | 0h51 | 11:14 AM Haarlem Station | 1 transfer | |
![]() | 10:23 AM Hoofddorp Train Station | 0h47 | 11:10 AM Spaarnwoude | 1 transfer | |
![]() | 10:24 AM Amsterdam RAI | 1h10 | 11:34 AM Spaarnwoude | 2 transfers | |
![]() | 10:24 AM Amsterdam RAI | 0h59 | 11:23 AM Haarlem Station | 1 transfer | |
![]() | 10:24 AM Amsterdam Lelylaan Train Station | 0h35 | 10:59 AM Haarlem Station | 1 transfer | |
![]() | 10:25 AM Amsterdam, Station Bijlmer Arena | 0h45 | 11:10 AM Spaarnwoude | 1 transfer | |
![]() | 10:25 AM Amsterdam Sloterdijk | 0h10 | 10:35 AM Haarlem Station | 0 transfersDirect | |
![]() | 10:25 AM Amsterdam, Station Bijlmer Arena | 0h40 | 11:05 AM Haarlem Station | 1 transfer | |
![]() | 10:27 AM Amsterdam, Amstel | 0h32 | 10:59 AM Haarlem Station | 1 transfer | |
![]() | 10:27 AM Amsterdam, Amstel | 0h29 | 10:56 AM Spaarnwoude | 1 transfer | |
![]() | 10:28 AM Amsterdam Zuid | 1h06 | 11:34 AM Spaarnwoude | 2 transfers | |
![]() | 10:28 AM Amsterdam Zuid | 0h55 | 11:23 AM Haarlem Station | 1 transfer | |
![]() | 10:30 AM Amsterdam Lelylaan Train Station | 0h35 | 11:05 AM Haarlem Station | 1 transfer | |
![]() | 10:31 AM Amsterdam Sloterdijk | 0h13 | 10:44 AM Haarlem Station | 0 transfersDirect | |
![]() | 10:31 AM Amsterdam Sloterdijk | 0h09 | 10:40 AM Spaarnwoude | 0 transfersDirect | |
![]() | 10:32 AM Amsterdam, Amstel | 0h33 | 11:05 AM Haarlem Station | 1 transfer | |
![]() | 10:32 AM Hoofddorp Train Station | 0h49 | 11:21 AM Haarlem Station | 1 transfer | |
![]() | 10:35 AM Amsterdam Muiderpoort Train Station | 0h30 | 11:05 AM Haarlem Station | 1 transfer | |
![]() | 10:36 AM Amsterdam Lelylaan Train Station | 0h38 | 11:14 AM Haarlem Station | 1 transfer | |
![]() | 10:37 AM Amsterdam RAI | 1h13 | 11:50 AM Spaarnwoude | 2 transfers | |
![]() | 10:37 AM Amsterdam RAI | 0h59 | 11:36 AM Haarlem Station | 1 transfer | |
![]() | 10:40 AM Amsterdam Zuid | 0h56 | 11:36 AM Haarlem Station | 1 transfer | |
![]() | 10:40 AM Amsterdam, Station Science Park | 0h30 | 11:10 AM Spaarnwoude | 1 transfer | |
![]() | 10:40 AM Hoofddorp Train Station | 0h43 | 11:23 AM Haarlem Station | 1 transfer | |
![]() | 10:41 AM Amsterdam, Amstel | 0h29 | 11:10 AM Spaarnwoude | 1 transfer | |
![]() | 10:41 AM Amsterdam, Amstel | 0h33 | 11:14 AM Haarlem Station | 1 transfer | |
![]() | 10:41 AM Amsterdam Sloterdijk | 0h10 | 10:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 10:43 AM Amsterdam Muiderpoort Train Station | 0h31 | 11:14 AM Haarlem Station | 1 transfer | |
![]() | 10:43 AM Amsterdam Muiderpoort Train Station | 0h27 | 11:10 AM Spaarnwoude | 1 transfer | |
![]() | 10:43 AM Hoofddorp Train Station | 0h43 | 11:26 AM Spaarnwoude | 1 transfer | |
![]() | 10:43 AM Hoofddorp Train Station | 0h46 | 11:29 AM Haarlem Station | 1 transfer | |
![]() | 10:45 AM Amsterdam Lelylaan Train Station | 0h36 | 11:21 AM Haarlem Station | 1 transfer | |
![]() | 10:46 AM Amsterdam Sloterdijk | 0h13 | 10:59 AM Haarlem Station | 0 transfersDirect | |
![]() | 10:46 AM Amsterdam Sloterdijk | 0h10 | 10:56 AM Spaarnwoude | 0 transfersDirect | |
![]() | 10:47 AM Hoofddorp Train Station | 0h48 | 11:35 AM Haarlem Station | 1 transfer | |
![]() | 10:49 AM Amsterdam Zuid | 1h01 | 11:50 AM Spaarnwoude | 2 transfers | |
![]() | 10:49 AM Amsterdam Zuid | 0h53 | 11:42 AM Haarlem Station | 1 transfer | |
![]() | 10:52 AM Hoofddorp Train Station | 0h44 | 11:36 AM Haarlem Station | 1 transfer | |
![]() | 10:52 AM Amsterdam, Station Holendrecht | 0h43 | 11:35 AM Haarlem Station | 1 transfer | |
![]() | 10:53 AM Hoofddorp Train Station | 0h47 | 11:40 AM Spaarnwoude | 1 transfer | |
![]() | 10:53 AM Hoofddorp Train Station | 0h51 | 11:44 AM Haarlem Station | 1 transfer | |
![]() | 10:54 AM Amsterdam RAI | 0h59 | 11:53 AM Haarlem Station | 1 transfer | |
![]() | 10:54 AM Amsterdam RAI | 1h10 | 12:04 PM Spaarnwoude | 2 transfers | |
![]() | 10:54 AM Amsterdam Lelylaan Train Station | 0h35 | 11:29 AM Haarlem Station | 1 transfer | |
![]() | 10:55 AM Amsterdam, Station Bijlmer Arena | 0h40 | 11:35 AM Haarlem Station | 1 transfer | |
![]() | 10:55 AM Amsterdam Sloterdijk | 0h10 | 11:05 AM Haarlem Station | 0 transfersDirect | |
![]() | 10:55 AM Amsterdam, Station Bijlmer Arena | 0h45 | 11:40 AM Spaarnwoude | 1 transfer | |
![]() | 10:57 AM Amsterdam, Amstel | 0h29 | 11:26 AM Spaarnwoude | 1 transfer | |
![]() | 10:57 AM Amsterdam, Amstel | 0h32 | 11:29 AM Haarlem Station | 1 transfer | |
![]() | 10:58 AM Amsterdam Zuid | 1h06 | 12:04 PM Spaarnwoude | 2 transfers | |
![]() | 10:58 AM Amsterdam Zuid | 0h55 | 11:53 AM Haarlem Station | 1 transfer | |
![]() | 11:00 AM Amsterdam Lelylaan Train Station | 0h35 | 11:35 AM Haarlem Station | 1 transfer | |
![]() | 11:01 AM Amsterdam Sloterdijk | 0h13 | 11:14 AM Haarlem Station | 0 transfersDirect | |
![]() | 11:01 AM Amsterdam Sloterdijk | 0h09 | 11:10 AM Spaarnwoude | 0 transfersDirect | |
![]() | 11:02 AM Hoofddorp Train Station | 0h49 | 11:51 AM Haarlem Station | 1 transfer | |
![]() | 11:02 AM Amsterdam, Amstel | 0h33 | 11:35 AM Haarlem Station | 1 transfer | |
![]() | 11:05 AM Amsterdam Muiderpoort Train Station | 0h30 | 11:35 AM Haarlem Station | 1 transfer | |
![]() | 11:06 AM Amsterdam Lelylaan Train Station | 0h38 | 11:44 AM Haarlem Station | 1 transfer | |
![]() | 11:07 AM Amsterdam RAI | 1h13 | 12:20 PM Spaarnwoude | 2 transfers | |
![]() | 11:07 AM Amsterdam RAI | 0h59 | 12:06 PM Haarlem Station | 1 transfer | |
![]() | 11:10 AM Amsterdam Zuid | 0h56 | 12:06 PM Haarlem Station | 1 transfer | |
![]() | 11:10 AM Hoofddorp Train Station | 0h43 | 11:53 AM Haarlem Station | 1 transfer | |
![]() | 11:10 AM Amsterdam, Station Science Park | 0h30 | 11:40 AM Spaarnwoude | 1 transfer | |
![]() | 11:11 AM Amsterdam, Amstel | 0h29 | 11:40 AM Spaarnwoude | 1 transfer | |
![]() | 11:11 AM Amsterdam Sloterdijk | 0h10 | 11:21 AM Haarlem Station | 0 transfersDirect | |
![]() | 11:11 AM Amsterdam, Amstel | 0h33 | 11:44 AM Haarlem Station | 1 transfer | |
![]() | 11:13 AM Hoofddorp Train Station | 0h46 | 11:59 AM Haarlem Station | 1 transfer | |
![]() | 11:13 AM Hoofddorp Train Station | 0h43 | 11:56 AM Spaarnwoude | 1 transfer | |
![]() | 11:13 AM Amsterdam Muiderpoort Train Station | 0h27 | 11:40 AM Spaarnwoude | 1 transfer | |
![]() | 11:13 AM Amsterdam Muiderpoort Train Station | 0h31 | 11:44 AM Haarlem Station | 1 transfer | |
![]() | 11:15 AM Amsterdam Lelylaan Train Station | 0h36 | 11:51 AM Haarlem Station | 1 transfer | |
![]() | 11:16 AM Amsterdam Sloterdijk | 0h13 | 11:29 AM Haarlem Station | 0 transfersDirect | |
![]() | 11:16 AM Amsterdam Sloterdijk | 0h10 | 11:26 AM Spaarnwoude | 0 transfersDirect | |
![]() | 11:17 AM Hoofddorp Train Station | 0h48 | 12:05 PM Haarlem Station | 1 transfer | |
![]() | 11:20 AM Amsterdam Zuid | 0h52 | 12:12 PM Haarlem Station | 1 transfer | |
![]() | 11:20 AM Amsterdam Zuid | 1h00 | 12:20 PM Spaarnwoude | 2 transfers | |
![]() | 11:22 AM Hoofddorp Train Station | 0h44 | 12:06 PM Haarlem Station | 1 transfer | |
![]() | 11:22 AM Amsterdam, Station Holendrecht | 0h43 | 12:05 PM Haarlem Station | 1 transfer | |
![]() | 11:23 AM Hoofddorp Train Station | 0h51 | 12:14 PM Haarlem Station | 1 transfer | |
![]() | 11:23 AM Hoofddorp Train Station | 0h47 | 12:10 PM Spaarnwoude | 1 transfer | |
![]() | 11:24 AM Amsterdam RAI | 1h10 | 12:34 PM Spaarnwoude | 2 transfers | |
![]() | 11:24 AM Amsterdam RAI | 0h59 | 12:23 PM Haarlem Station | 1 transfer | |
![]() | 11:24 AM Amsterdam Lelylaan Train Station | 0h35 | 11:59 AM Haarlem Station | 1 transfer | |
![]() | 11:25 AM Amsterdam, Station Bijlmer Arena | 0h45 | 12:10 PM Spaarnwoude | 1 transfer | |
![]() | 11:25 AM Amsterdam Sloterdijk | 0h10 | 11:35 AM Haarlem Station | 0 transfersDirect | |
![]() | 11:25 AM Amsterdam, Station Bijlmer Arena | 0h40 | 12:05 PM Haarlem Station | 1 transfer | |
![]() | 11:27 AM Amsterdam, Amstel | 0h29 | 11:56 AM Spaarnwoude | 1 transfer | |
![]() | 11:27 AM Amsterdam, Amstel | 0h32 | 11:59 AM Haarlem Station | 1 transfer | |
![]() | 11:28 AM Amsterdam Zuid | 1h06 | 12:34 PM Spaarnwoude | 2 transfers | |
![]() | 11:28 AM Amsterdam Zuid | 0h55 | 12:23 PM Haarlem Station | 1 transfer | |
![]() | 11:30 AM Amsterdam Lelylaan Train Station | 0h35 | 12:05 PM Haarlem Station | 1 transfer | |
![]() | 11:31 AM Amsterdam Sloterdijk | 0h13 | 11:44 AM Haarlem Station | 0 transfersDirect | |
![]() | 11:31 AM Amsterdam Sloterdijk | 0h09 | 11:40 AM Spaarnwoude | 0 transfersDirect | |
![]() | 11:32 AM Amsterdam, Amstel | 0h33 | 12:05 PM Haarlem Station | 1 transfer | |
![]() | 11:32 AM Hoofddorp Train Station | 0h49 | 12:21 PM Haarlem Station | 1 transfer | |
![]() | 11:35 AM Amsterdam Muiderpoort Train Station | 0h30 | 12:05 PM Haarlem Station | 1 transfer | |
![]() | 11:36 AM Amsterdam Lelylaan Train Station | 0h38 | 12:14 PM Haarlem Station | 1 transfer | |
![]() | 11:37 AM Amsterdam RAI | 1h13 | 12:50 PM Spaarnwoude | 2 transfers | |
![]() | 11:37 AM Amsterdam RAI | 0h59 | 12:36 PM Haarlem Station | 1 transfer | |
![]() | 11:40 AM Amsterdam, Station Science Park | 0h30 | 12:10 PM Spaarnwoude | 1 transfer | |
![]() | 11:40 AM Amsterdam Zuid | 0h56 | 12:36 PM Haarlem Station | 1 transfer | |
![]() | 11:40 AM Hoofddorp Train Station | 0h43 | 12:23 PM Haarlem Station | 1 transfer | |
![]() | 11:41 AM Amsterdam, Amstel | 0h33 | 12:14 PM Haarlem Station | 1 transfer | |
![]() | 11:41 AM Amsterdam Sloterdijk | 0h10 | 11:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 11:41 AM Amsterdam, Amstel | 0h29 | 12:10 PM Spaarnwoude | 1 transfer | |
![]() | 11:43 AM Amsterdam Muiderpoort Train Station | 0h31 | 12:14 PM Haarlem Station | 1 transfer | |
![]() | 11:43 AM Hoofddorp Train Station | 0h43 | 12:26 PM Spaarnwoude | 1 transfer | |
![]() | 11:43 AM Hoofddorp Train Station | 0h46 | 12:29 PM Haarlem Station | 1 transfer | |
![]() | 11:43 AM Amsterdam Muiderpoort Train Station | 0h27 | 12:10 PM Spaarnwoude | 1 transfer | |
![]() | 11:45 AM Amsterdam Lelylaan Train Station | 0h36 | 12:21 PM Haarlem Station | 1 transfer | |
![]() | 11:46 AM Amsterdam Sloterdijk | 0h10 | 11:56 AM Spaarnwoude | 0 transfersDirect | |
![]() | 11:46 AM Amsterdam Sloterdijk | 0h13 | 11:59 AM Haarlem Station | 0 transfersDirect | |
![]() | 11:47 AM Hoofddorp Train Station | 0h48 | 12:35 PM Haarlem Station | 1 transfer | |
![]() | 11:50 AM Amsterdam Zuid | 1h00 | 12:50 PM Spaarnwoude | 2 transfers | |
![]() | 11:50 AM Amsterdam Zuid | 0h52 | 12:42 PM Haarlem Station | 1 transfer | |
![]() | 11:52 AM Hoofddorp Train Station | 0h44 | 12:36 PM Haarlem Station | 1 transfer | |
![]() | 11:52 AM Amsterdam, Station Holendrecht | 0h43 | 12:35 PM Haarlem Station | 1 transfer | |
![]() | 11:53 AM Hoofddorp Train Station | 0h51 | 12:44 PM Haarlem Station | 1 transfer | |
![]() | 11:53 AM Hoofddorp Train Station | 0h47 | 12:40 PM Spaarnwoude | 1 transfer | |
![]() | 11:54 AM Amsterdam RAI | 1h10 | 1:04 PM Spaarnwoude | 2 transfers | |
![]() | 11:54 AM Amsterdam Lelylaan Train Station | 0h35 | 12:29 PM Haarlem Station | 1 transfer | |
![]() | 11:54 AM Amsterdam RAI | 0h59 | 12:53 PM Haarlem Station | 1 transfer | |
![]() | 11:55 AM Amsterdam, Station Bijlmer Arena | 0h45 | 12:40 PM Spaarnwoude | 1 transfer | |
![]() | 11:55 AM Amsterdam, Station Bijlmer Arena | 0h40 | 12:35 PM Haarlem Station | 1 transfer | |
![]() | 11:55 AM Amsterdam Sloterdijk | 0h10 | 12:05 PM Haarlem Station | 0 transfersDirect | |
![]() | 11:57 AM Amsterdam, Amstel | 0h32 | 12:29 PM Haarlem Station | 1 transfer | |
![]() | 11:57 AM Amsterdam, Amstel | 0h29 | 12:26 PM Spaarnwoude | 1 transfer | |
![]() | 11:58 AM Amsterdam Zuid | 1h06 | 1:04 PM Spaarnwoude | 2 transfers | |
![]() | 11:58 AM Amsterdam Zuid | 0h55 | 12:53 PM Haarlem Station | 1 transfer | |
![]() | 12:00 PM Amsterdam Lelylaan Train Station | 0h35 | 12:35 PM Haarlem Station | 1 transfer | |
![]() | 12:01 PM Amsterdam Sloterdijk | 0h09 | 12:10 PM Spaarnwoude | 0 transfersDirect | |
![]() | 12:01 PM Amsterdam Sloterdijk | 0h13 | 12:14 PM Haarlem Station | 0 transfersDirect | |
![]() | 12:02 PM Hoofddorp Train Station | 0h49 | 12:51 PM Haarlem Station | 1 transfer | |
![]() | 12:02 PM Amsterdam, Amstel | 0h33 | 12:35 PM Haarlem Station | 1 transfer | |
![]() | 12:05 PM Amsterdam Muiderpoort Train Station | 0h30 | 12:35 PM Haarlem Station | 1 transfer | |
![]() | 12:06 PM Amsterdam Lelylaan Train Station | 0h38 | 12:44 PM Haarlem Station | 1 transfer | |
![]() | 12:07 PM Amsterdam RAI | 1h13 | 1:20 PM Spaarnwoude | 2 transfers | |
![]() | 12:07 PM Amsterdam RAI | 0h59 | 1:06 PM Haarlem Station | 1 transfer | |
![]() | 12:10 PM Hoofddorp Train Station | 0h43 | 12:53 PM Haarlem Station | 1 transfer | |
![]() | 12:10 PM Amsterdam Zuid | 0h56 | 1:06 PM Haarlem Station | 1 transfer | |
![]() | 12:10 PM Amsterdam, Station Science Park | 0h30 | 12:40 PM Spaarnwoude | 1 transfer | |
![]() | 12:11 PM Amsterdam, Amstel | 0h29 | 12:40 PM Spaarnwoude | 1 transfer | |
![]() | 12:11 PM Amsterdam Sloterdijk | 0h10 | 12:21 PM Haarlem Station | 0 transfersDirect | |
![]() | 12:11 PM Amsterdam, Amstel | 0h33 | 12:44 PM Haarlem Station | 1 transfer | |
![]() | 12:13 PM Hoofddorp Train Station | 0h43 | 12:56 PM Spaarnwoude | 1 transfer | |
![]() | 12:13 PM Amsterdam Muiderpoort Train Station | 0h31 | 12:44 PM Haarlem Station | 1 transfer | |
![]() | 12:13 PM Amsterdam Muiderpoort Train Station | 0h27 | 12:40 PM Spaarnwoude | 1 transfer | |
![]() | 12:13 PM Hoofddorp Train Station | 0h46 | 12:59 PM Haarlem Station | 1 transfer | |
![]() | 12:15 PM Amsterdam Lelylaan Train Station | 0h36 | 12:51 PM Haarlem Station | 1 transfer | |
![]() | 12:16 PM Amsterdam Sloterdijk | 0h10 | 12:26 PM Spaarnwoude | 0 transfersDirect | |
![]() | 12:16 PM Amsterdam Sloterdijk | 0h13 | 12:29 PM Haarlem Station | 0 transfersDirect | |
![]() | 12:17 PM Hoofddorp Train Station | 0h48 | 1:05 PM Haarlem Station | 1 transfer | |
![]() | 12:20 PM Amsterdam Zuid | 1h00 | 1:20 PM Spaarnwoude | 2 transfers | |
![]() | 12:20 PM Amsterdam Zuid | 0h52 | 1:12 PM Haarlem Station | 1 transfer | |
![]() | 12:22 PM Hoofddorp Train Station | 0h44 | 1:06 PM Haarlem Station | 1 transfer | |
![]() | 12:22 PM Amsterdam, Station Holendrecht | 0h43 | 1:05 PM Haarlem Station | 1 transfer | |
![]() | 12:23 PM Hoofddorp Train Station | 0h51 | 1:14 PM Haarlem Station | 1 transfer | |
![]() | 12:23 PM Hoofddorp Train Station | 0h47 | 1:10 PM Spaarnwoude | 1 transfer | |
![]() | 12:24 PM Amsterdam Lelylaan Train Station | 0h35 | 12:59 PM Haarlem Station | 1 transfer | |
![]() | 12:24 PM Amsterdam RAI | 0h59 | 1:23 PM Haarlem Station | 1 transfer | |
![]() | 12:24 PM Amsterdam RAI | 1h10 | 1:34 PM Spaarnwoude | 2 transfers | |
![]() | 12:25 PM Amsterdam, Station Bijlmer Arena | 0h45 | 1:10 PM Spaarnwoude | 1 transfer | |
![]() | 12:25 PM Amsterdam Sloterdijk | 0h10 | 12:35 PM Haarlem Station | 0 transfersDirect | |
![]() | 12:25 PM Amsterdam, Station Bijlmer Arena | 0h40 | 1:05 PM Haarlem Station | 1 transfer | |
![]() | 12:27 PM Amsterdam, Amstel | 0h32 | 12:59 PM Haarlem Station | 1 transfer | |
![]() | 12:27 PM Amsterdam, Amstel | 0h29 | 12:56 PM Spaarnwoude | 1 transfer | |
![]() | 12:28 PM Amsterdam Zuid | 1h06 | 1:34 PM Spaarnwoude | 2 transfers | |
![]() | 12:28 PM Amsterdam Zuid | 0h55 | 1:23 PM Haarlem Station | 1 transfer | |
![]() | 12:30 PM Amsterdam Lelylaan Train Station | 0h35 | 1:05 PM Haarlem Station | 1 transfer | |
![]() | 10:00 PM Amsterdam Lelylaan Train Station | 0h21 | 10:21 PM Haarlem Station | 1 transfer | |
![]() | 10:01 PM Amsterdam Sloterdijk | 0h09 | 10:10 PM Spaarnwoude | 0 transfersDirect | |
![]() | 10:01 PM Amsterdam Sloterdijk | 0h13 | 10:14 PM Haarlem Station | 0 transfersDirect | |
![]() | 10:02 PM Hoofddorp Train Station | 0h33 | 10:35 PM Haarlem Station | 1 transfer | |
![]() | 10:03 PM Amsterdam, Amstel | 0h32 | 10:35 PM Haarlem Station | 1 transfer | |
![]() | 10:07 PM Amsterdam Muiderpoort Train Station | 0h28 | 10:35 PM Haarlem Station | 1 transfer | |
![]() | 10:08 PM Hoofddorp Train Station | 0h32 | 10:40 PM Spaarnwoude | 1 transfer | |
![]() | 10:08 PM Hoofddorp Train Station | 0h36 | 10:44 PM Haarlem Station | 1 transfer | |
![]() | 10:10 PM Amsterdam, Station Science Park | 0h30 | 10:40 PM Spaarnwoude | 1 transfer | |
![]() | 10:10 PM Hoofddorp Train Station | 0h43 | 10:53 PM Haarlem Station | 1 transfer | |
![]() | 10:10 PM Amsterdam, Station Science Park | 0h34 | 10:44 PM Haarlem Station | 1 transfer | |
![]() | 10:10 PM Hoofddorp Train Station | 1h10 | 11:20 PM Spaarnwoude | 2 transfers | |
![]() | 10:11 PM Amsterdam, Amstel | 0h33 | 10:44 PM Haarlem Station | 1 transfer | |
![]() | 10:11 PM Amsterdam, Station Bijlmer Arena | 1h09 | 11:20 PM Spaarnwoude | 2 transfers | |
![]() | 10:11 PM Amsterdam, Station Bijlmer Arena | 1h01 | 11:12 PM Haarlem Station | 1 transfer | |
![]() | 10:11 PM Amsterdam Sloterdijk | 0h10 | 10:21 PM Haarlem Station | 0 transfersDirect | |
![]() | 10:13 PM Amsterdam Muiderpoort Train Station | 0h27 | 10:40 PM Spaarnwoude | 1 transfer | |
![]() | 10:13 PM Amsterdam Muiderpoort Train Station | 0h31 | 10:44 PM Haarlem Station | 1 transfer | |
![]() | 10:15 PM Amsterdam Lelylaan Train Station | 0h35 | 10:50 PM Haarlem Station | 1 transfer | |
![]() | 10:16 PM Amsterdam Sloterdijk | 0h10 | 10:26 PM Spaarnwoude | 0 transfersDirect | |
![]() | 10:16 PM Amsterdam Sloterdijk | 0h13 | 10:29 PM Haarlem Station | 0 transfersDirect | |
![]() | 10:18 PM Amsterdam Zuid | 0h54 | 11:12 PM Haarlem Station | 1 transfer | |
![]() | 10:18 PM Amsterdam Zuid | 1h02 | 11:20 PM Spaarnwoude | 2 transfers | |
![]() | 10:22 PM Amsterdam, Station Holendrecht | 0h59 | 11:21 PM Haarlem Station | 1 transfer | |
![]() | 10:24 PM Amsterdam RAI | 0h57 | 11:21 PM Haarlem Station | 2 transfers | |
![]() | 10:24 PM Amsterdam RAI | 1h16 | 11:40 PM Spaarnwoude | 2 transfers | |
![]() | 10:25 PM Amsterdam Sloterdijk | 0h10 | 10:35 PM Haarlem Station | 0 transfersDirect | |
![]() | 10:27 PM Amsterdam, Station Bijlmer Arena | 0h54 | 11:21 PM Haarlem Station | 1 transfer | |
![]() | 10:28 PM Amsterdam Zuid | 0h53 | 11:21 PM Haarlem Station | 2 transfers | |
![]() | 10:31 PM Amsterdam Sloterdijk | 0h13 | 10:44 PM Haarlem Station | 0 transfersDirect | |
![]() | 10:31 PM Amsterdam Sloterdijk | 0h09 | 10:40 PM Spaarnwoude | 0 transfersDirect | |
![]() | 10:32 PM Hoofddorp Train Station | 1h08 | 11:40 PM Spaarnwoude | 1 transfer | |
![]() | 10:32 PM Hoofddorp Train Station | 0h49 | 11:21 PM Haarlem Station | 1 transfer | |
![]() | 10:39 PM Hoofddorp Train Station | 0h57 | 11:36 PM Haarlem Station | 1 transfer | |
![]() | 10:40 PM Amsterdam Sloterdijk | 0h10 | 10:50 PM Haarlem Station | 0 transfersDirect | |
![]() | 10:40 PM Amsterdam, Station Science Park | 0h41 | 11:21 PM Haarlem Station | 1 transfer | |
![]() | 10:40 PM Amsterdam Sloterdijk | 0h40 | 11:20 PM Spaarnwoude | 1 transfer | |
![]() | 10:41 PM Amsterdam, Amstel | 0h40 | 11:21 PM Haarlem Station | 1 transfer | |
![]() | 10:43 PM Amsterdam Muiderpoort Train Station | 0h38 | 11:21 PM Haarlem Station | 1 transfer | |
![]() | 10:45 PM Amsterdam Lelylaan Train Station | 0h36 | 11:21 PM Haarlem Station | 1 transfer | |
![]() | 10:52 PM Amsterdam, Station Holendrecht | 0h48 | 11:40 PM Spaarnwoude | 1 transfer | |
![]() | 10:52 PM Amsterdam, Station Holendrecht | 0h52 | 11:44 PM Haarlem Station | 1 transfer | |
![]() | 10:57 PM Amsterdam, Station Bijlmer Arena | 0h43 | 11:40 PM Spaarnwoude | 1 transfer | |
![]() | 10:57 PM Amsterdam, Station Bijlmer Arena | 0h47 | 11:44 PM Haarlem Station | 1 transfer | |
![]() | 11:03 PM Amsterdam, Amstel | 0h41 | 11:44 PM Haarlem Station | 1 transfer | |
![]() | 11:10 PM Amsterdam, Station Science Park | 0h30 | 11:40 PM Spaarnwoude | 1 transfer | |
![]() | 11:10 PM Amsterdam, Station Science Park | 0h34 | 11:44 PM Haarlem Station | 1 transfer | |
![]() | 11:11 PM Amsterdam Sloterdijk | 0h10 | 11:21 PM Haarlem Station | 0 transfersDirect | |
![]() | 11:13 PM Amsterdam Muiderpoort Train Station | 0h31 | 11:44 PM Haarlem Station | 1 transfer | |
![]() | 11:13 PM Amsterdam Muiderpoort Train Station | 0h27 | 11:40 PM Spaarnwoude | 1 transfer | |
![]() | 11:30 PM Amsterdam, Station Bijlmer Arena | 1h29 | 12:59 AM Haarlem Station | 2 transfers | |
![]() | 11:31 PM Amsterdam Sloterdijk | 0h09 | 11:40 PM Spaarnwoude | 0 transfersDirect | |
![]() | 11:31 PM Amsterdam Sloterdijk | 0h13 | 11:44 PM Haarlem Station | 0 transfersDirect | |
![]() | 11:33 PM Amsterdam, Station Bijlmer Arena | 2h29 | 2:02 AM Haarlem Station | 2 transfers | |
![]() | 11:49 PM Amsterdam Sloterdijk | 1h10 | 12:59 AM Haarlem Station | 1 transfer | |
Saturday, May 24 | |||||
![]() | 3:29 AM Amsterdam Lelylaan Train Station | 1h09 | 4:38 AM Haarlem Station | 2 transfers | |
![]() | 3:34 AM Amsterdam RAI | 1h04 | 4:38 AM Haarlem Station | 1 transfer | |
![]() | 3:34 AM Amsterdam RAI | 1h06 | 4:40 AM Spaarnwoude | 2 transfers | |
![]() | 3:38 AM Amsterdam Zuid | 1h00 | 4:38 AM Haarlem Station | 1 transfer | |
![]() | 3:38 AM Amsterdam Zuid | 1h02 | 4:40 AM Spaarnwoude | 2 transfers | |
![]() | 3:41 AM Amsterdam Sloterdijk | 0h10 | 3:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 3:41 AM Amsterdam Sloterdijk | 0h39 | 4:20 AM Spaarnwoude | 1 transfer | |
![]() | 3:43 AM Amsterdam Lelylaan Train Station | 0h59 | 4:42 AM Haarlem Station | 2 transfers | |
![]() | 3:47 AM Hoofddorp Train Station | 0h53 | 4:40 AM Spaarnwoude | 1 transfer | |
![]() | 3:50 AM Hoofddorp Train Station | 1h00 | 4:50 AM Spaarnwoude | 2 transfers | |
![]() | 3:50 AM Hoofddorp Train Station | 0h48 | 4:38 AM Haarlem Station | 1 transfer | |
![]() | 4:00 AM Amsterdam Lelylaan Train Station | 0h43 | 4:43 AM Haarlem Station | 1 transfer | |
![]() | 4:02 AM Hoofddorp Train Station | 0h49 | 4:51 AM Haarlem Station | 1 transfer | |
![]() | 4:10 AM Amsterdam, Station Science Park | 0h30 | 4:40 AM Spaarnwoude | 1 transfer | |
![]() | 4:10 AM Amsterdam, Station Science Park | 0h33 | 4:43 AM Haarlem Station | 1 transfer | |
![]() | 4:13 AM Amsterdam Muiderpoort Train Station | 0h30 | 4:43 AM Haarlem Station | 1 transfer | |
![]() | 4:13 AM Amsterdam Muiderpoort Train Station | 0h27 | 4:40 AM Spaarnwoude | 1 transfer | |
![]() | 4:15 AM Amsterdam Lelylaan Train Station | 0h36 | 4:51 AM Haarlem Station | 1 transfer | |
![]() | 4:17 AM Hoofddorp Train Station | 0h53 | 5:10 AM Spaarnwoude | 1 transfer | |
![]() | 4:17 AM Hoofddorp Train Station | 0h57 | 5:14 AM Haarlem Station | 1 transfer | |
![]() | 4:19 AM Amsterdam RAI | 1h17 | 5:36 AM Haarlem Station | 1 transfer | |
![]() | 4:19 AM Amsterdam RAI | 1h31 | 5:50 AM Spaarnwoude | 2 transfers | |
![]() | 4:22 AM Amsterdam, Station Holendrecht | 0h48 | 5:10 AM Spaarnwoude | 1 transfer | |
![]() | 4:22 AM Amsterdam, Station Holendrecht | 0h52 | 5:14 AM Haarlem Station | 1 transfer | |
![]() | 4:23 AM Amsterdam Zuid | 1h13 | 5:36 AM Haarlem Station | 1 transfer | |
![]() | 4:25 AM Amsterdam, Station Bijlmer Arena | 0h45 | 5:10 AM Spaarnwoude | 1 transfer | |
![]() | 4:25 AM Amsterdam, Station Bijlmer Arena | 0h49 | 5:14 AM Haarlem Station | 1 transfer | |
![]() | 4:30 AM Amsterdam Sloterdijk | 0h13 | 4:43 AM Haarlem Station | 0 transfersDirect | |
![]() | 4:30 AM Amsterdam Sloterdijk | 0h10 | 4:40 AM Spaarnwoude | 0 transfersDirect | |
![]() | 4:30 AM Amsterdam Lelylaan Train Station | 0h44 | 5:14 AM Haarlem Station | 1 transfer | |
![]() | 4:32 AM Amsterdam, Amstel | 0h42 | 5:14 AM Haarlem Station | 1 transfer | |
![]() | 4:32 AM Hoofddorp Train Station | 0h54 | 5:26 AM Spaarnwoude | 1 transfer | |
![]() | 4:32 AM Hoofddorp Train Station | 0h49 | 5:21 AM Haarlem Station | 1 transfer | |
![]() | 4:36 AM Hoofddorp Train Station | 1h00 | 5:36 AM Haarlem Station | 1 transfer | |
![]() | 4:40 AM Amsterdam, Station Science Park | 0h30 | 5:10 AM Spaarnwoude | 1 transfer | |
![]() | 4:40 AM Amsterdam, Station Science Park | 0h34 | 5:14 AM Haarlem Station | 1 transfer | |
![]() | 4:41 AM Amsterdam Sloterdijk | 0h23 | 5:04 AM Spaarnwoude | 1 transfer | |
![]() | 4:41 AM Amsterdam Sloterdijk | 0h10 | 4:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 4:43 AM Amsterdam Muiderpoort Train Station | 0h31 | 5:14 AM Haarlem Station | 1 transfer | |
![]() | 4:43 AM Amsterdam Muiderpoort Train Station | 0h27 | 5:10 AM Spaarnwoude | 1 transfer | |
![]() | 4:45 AM Amsterdam Lelylaan Train Station | 0h36 | 5:21 AM Haarlem Station | 1 transfer | |
![]() | 4:47 AM Hoofddorp Train Station | 0h53 | 5:40 AM Spaarnwoude | 1 transfer | |
![]() | 4:47 AM Hoofddorp Train Station | 0h57 | 5:44 AM Haarlem Station | 1 transfer | |
![]() | 4:48 AM Amsterdam Zuid | 1h02 | 5:50 AM Spaarnwoude | 2 transfers | |
![]() | 4:48 AM Amsterdam Zuid | 0h54 | 5:42 AM Haarlem Station | 1 transfer | |
![]() | 4:54 AM Amsterdam RAI | 1h12 | 6:06 AM Haarlem Station | 1 transfer | |
![]() | 4:54 AM Amsterdam RAI | 1h26 | 6:20 AM Spaarnwoude | 2 transfers | |
![]() | 4:57 AM Amsterdam, Amstel | 0h32 | 5:29 AM Haarlem Station | 1 transfer | |
![]() | 4:58 AM Amsterdam Zuid | 1h22 | 6:20 AM Spaarnwoude | 2 transfers | |
![]() | 4:58 AM Amsterdam Zuid | 1h08 | 6:06 AM Haarlem Station | 1 transfer | |
![]() | 5:00 AM Amsterdam Lelylaan Train Station | 0h44 | 5:44 AM Haarlem Station | 1 transfer | |
![]() | 5:01 AM Amsterdam Sloterdijk | 0h13 | 5:14 AM Haarlem Station | 0 transfersDirect | |
![]() | 5:01 AM Amsterdam Sloterdijk | 0h09 | 5:10 AM Spaarnwoude | 0 transfersDirect | |
![]() | 5:02 AM Hoofddorp Train Station | 0h49 | 5:51 AM Haarlem Station | 1 transfer | |
![]() | 5:02 AM Hoofddorp Train Station | 0h54 | 5:56 AM Spaarnwoude | 1 transfer | |
![]() | 5:10 AM Hoofddorp Train Station | 0h56 | 6:06 AM Haarlem Station | 1 transfer | |
![]() | 5:10 AM Amsterdam, Station Science Park | 0h34 | 5:44 AM Haarlem Station | 1 transfer | |
![]() | 5:10 AM Amsterdam, Station Science Park | 0h30 | 5:40 AM Spaarnwoude | 1 transfer | |
![]() | 5:11 AM Amsterdam Sloterdijk | 0h10 | 5:21 AM Haarlem Station | 0 transfersDirect | |
![]() | 5:12 AM Amsterdam Zuid | 1h14 | 6:26 AM Spaarnwoude | 2 transfers | |
![]() | 5:12 AM Amsterdam Zuid | 1h17 | 6:29 AM Haarlem Station | 2 transfers | |
![]() | 5:13 AM Amsterdam Muiderpoort Train Station | 0h27 | 5:40 AM Spaarnwoude | 1 transfer | |
![]() | 5:13 AM Amsterdam Muiderpoort Train Station | 0h31 | 5:44 AM Haarlem Station | 1 transfer | |
![]() | 5:15 AM Amsterdam Lelylaan Train Station | 0h36 | 5:51 AM Haarlem Station | 1 transfer | |
![]() | 5:16 AM Amsterdam Sloterdijk | 0h13 | 5:29 AM Haarlem Station | 0 transfersDirect | |
![]() | 5:16 AM Amsterdam Sloterdijk | 0h10 | 5:26 AM Spaarnwoude | 0 transfersDirect | |
![]() | 5:17 AM Hoofddorp Train Station | 0h53 | 6:10 AM Spaarnwoude | 1 transfer | |
![]() | 5:17 AM Hoofddorp Train Station | 0h57 | 6:14 AM Haarlem Station | 1 transfer | |
![]() | 5:22 AM Amsterdam, Station Holendrecht | 0h52 | 6:14 AM Haarlem Station | 1 transfer | |
![]() | 5:22 AM Amsterdam, Station Holendrecht | 0h48 | 6:10 AM Spaarnwoude | 1 transfer | |
![]() | 5:24 AM Amsterdam RAI | 1h27 | 6:51 AM Spaarnwoude | 2 transfers | |
![]() | 5:24 AM Amsterdam RAI | 1h12 | 6:36 AM Haarlem Station | 1 transfer | |
![]() | 5:25 AM Amsterdam, Station Bijlmer Arena | 0h49 | 6:14 AM Haarlem Station | 1 transfer | |
![]() | 5:25 AM Amsterdam, Station Bijlmer Arena | 0h45 | 6:10 AM Spaarnwoude | 1 transfer | |
![]() | 5:27 AM Amsterdam, Amstel | 0h32 | 5:59 AM Haarlem Station | 1 transfer | |
![]() | 5:28 AM Amsterdam Zuid | 1h08 | 6:36 AM Haarlem Station | 1 transfer | |
![]() | 5:30 AM Amsterdam Lelylaan Train Station | 0h44 | 6:14 AM Haarlem Station | 1 transfer | |
![]() | 5:31 AM Amsterdam Sloterdijk | 0h09 | 5:40 AM Spaarnwoude | 0 transfersDirect | |
![]() | 5:31 AM Amsterdam Sloterdijk | 0h13 | 5:44 AM Haarlem Station | 0 transfersDirect | |
![]() | 5:32 AM Amsterdam, Amstel | 0h42 | 6:14 AM Haarlem Station | 1 transfer | |
![]() | 5:32 AM Hoofddorp Train Station | 0h49 | 6:21 AM Haarlem Station | 1 transfer | |
![]() | 5:32 AM Hoofddorp Train Station | 0h54 | 6:26 AM Spaarnwoude | 1 transfer | |
![]() | 5:40 AM Amsterdam, Station Science Park | 0h30 | 6:10 AM Spaarnwoude | 1 transfer | |
![]() | 5:40 AM Amsterdam, Station Science Park | 0h34 | 6:14 AM Haarlem Station | 1 transfer | |
![]() | 5:41 AM Amsterdam Sloterdijk | 0h10 | 5:51 AM Haarlem Station | 0 transfersDirect | |
![]() | 5:43 AM Amsterdam Muiderpoort Train Station | 0h31 | 6:14 AM Haarlem Station | 1 transfer | |
![]() | 5:43 AM Amsterdam Muiderpoort Train Station | 0h27 | 6:10 AM Spaarnwoude | 1 transfer | |
![]() | 5:45 AM Amsterdam Lelylaan Train Station | 0h36 | 6:21 AM Haarlem Station | 1 transfer | |
![]() | 5:46 AM Amsterdam Sloterdijk | 0h10 | 5:56 AM Spaarnwoude | 0 transfersDirect | |
![]() | 5:46 AM Amsterdam Sloterdijk | 0h13 | 5:59 AM Haarlem Station | 0 transfersDirect | |
![]() | 5:47 AM Hoofddorp Train Station | 0h48 | 6:35 AM Haarlem Station | 1 transfer | |
![]() | 5:47 AM Hoofddorp Train Station | 0h53 | 6:40 AM Spaarnwoude | 1 transfer | |
![]() | 5:49 AM Amsterdam Zuid | 0h53 | 6:42 AM Haarlem Station | 1 transfer | |
![]() | 5:49 AM Amsterdam Zuid | 1h02 | 6:51 AM Spaarnwoude | 2 transfers | |
![]() | 5:52 AM Amsterdam, Station Holendrecht | 0h48 | 6:40 AM Spaarnwoude | 1 transfer | |
![]() | 5:52 AM Amsterdam, Station Holendrecht | 0h43 | 6:35 AM Haarlem Station | 1 transfer | |
![]() | 5:54 AM Amsterdam RAI | 1h26 | 7:20 AM Spaarnwoude | 2 transfers | |
![]() | 5:54 AM Amsterdam RAI | 1h12 | 7:06 AM Haarlem Station | 1 transfer | |
![]() | 5:55 AM Amsterdam, Station Bijlmer Arena | 0h40 | 6:35 AM Haarlem Station | 1 transfer | |
![]() | 5:55 AM Amsterdam, Station Bijlmer Arena | 0h45 | 6:40 AM Spaarnwoude | 1 transfer | |
![]() | 5:57 AM Amsterdam, Amstel | 0h32 | 6:29 AM Haarlem Station | 1 transfer | |
![]() | 6:00 AM Amsterdam Lelylaan Train Station | 0h35 | 6:35 AM Haarlem Station | 1 transfer | |
![]() | 6:01 AM Amsterdam Sloterdijk | 0h09 | 6:10 AM Spaarnwoude | 0 transfersDirect | |
![]() | 6:01 AM Amsterdam Sloterdijk | 0h13 | 6:14 AM Haarlem Station | 0 transfersDirect | |
![]() | 6:02 AM Hoofddorp Train Station | 0h54 | 6:56 AM Spaarnwoude | 1 transfer | |
![]() | 6:02 AM Hoofddorp Train Station | 0h49 | 6:51 AM Haarlem Station | 1 transfer | |
![]() | 6:02 AM Amsterdam, Amstel | 0h33 | 6:35 AM Haarlem Station | 1 transfer | |
![]() | 6:05 AM Amsterdam Muiderpoort Train Station | 0h30 | 6:35 AM Haarlem Station | 1 transfer | |
![]() | 6:07 AM Amsterdam Zuid | 0h59 | 7:06 AM Haarlem Station | 1 transfer | |
![]() | 6:10 AM Amsterdam, Station Science Park | 0h30 | 6:40 AM Spaarnwoude | 1 transfer | |
![]() | 6:10 AM Amsterdam, Station Science Park | 0h34 | 6:44 AM Haarlem Station | 1 transfer | |
![]() | 6:11 AM Amsterdam Sloterdijk | 0h10 | 6:21 AM Haarlem Station | 0 transfersDirect | |
![]() | 6:11 AM Amsterdam, Amstel | 0h33 | 6:44 AM Haarlem Station | 1 transfer | |
![]() | 6:13 AM Amsterdam Muiderpoort Train Station | 0h31 | 6:44 AM Haarlem Station | 1 transfer | |
![]() | 6:13 AM Amsterdam Muiderpoort Train Station | 0h27 | 6:40 AM Spaarnwoude | 1 transfer | |
![]() | 6:15 AM Amsterdam Lelylaan Train Station | 0h36 | 6:51 AM Haarlem Station | 1 transfer | |
![]() | 6:16 AM Amsterdam Sloterdijk | 0h13 | 6:29 AM Haarlem Station | 0 transfersDirect | |
![]() | 6:16 AM Amsterdam Sloterdijk | 0h10 | 6:26 AM Spaarnwoude | 0 transfersDirect | |
![]() | 6:17 AM Hoofddorp Train Station | 0h48 | 7:05 AM Haarlem Station | 1 transfer | |
![]() | 6:17 AM Hoofddorp Train Station | 0h53 | 7:10 AM Spaarnwoude | 1 transfer | |
This is the last train of the day. | |||||
Find all the dates and times for this journey
Distance 10 miles (17 km) |
Average train duration 11m |
Cheapest ticket price $5 (€4) |
Trains per day 500 |
Direct trains 90 |
Train providers 4 |
Fastest train 9m |
First train 00:01 |
Last train 23:58 |
Planning to take the Amsterdam to Haarlem train? You're in for a quick and scenic ride! With trains from Amsterdam to Haarlem departing frequently throughout the day, traveling between these two iconic Dutch cities couldn't be easier. Most journeys depart from Amsterdam Sloterdijk, the primary train hub in the Netherlands, and arrive at Haarlem Spaarnwoude, well-known for its historic architecture and convenient location. Whether you're a tourist exploring Haarlem's charming streets or a commuter heading home, the train from Amsterdam to Haarlem offers comfortable, efficient, and eco-friendly travel. Check schedules, purchase tickets in advance, and experience one of the easiest ways to connect these cities by rail!
Planning a trip from Amsterdam to Haarlem? Travelers seeking affordable transport will be delighted to find that train tickets on this route are cost-effective. The cheapest train ticket for this short journey can be found starting at just $5 (€4); ensure you book in advance for the best pricing. Generally, train ticket costs average around $5 (€4), providing a great balance between convenience and price. To maximize savings and enjoy pleasant travel conditions, consider planning your visit in late September, when weather conditions offer a comfortable ride and promotions on train tickets are abundant.
For travelers seeking a convenient and efficient rail journey between Amsterdam and Haarlem, trains operated by NS (Nederlandse Spoorwegen), Arriva, and Connexxion offer a seamless experience. The frequent services provided by these rail providers ensure that passengers enjoy timely departures and arrivals tailored to various schedules. NS, the primary train service in the Netherlands, offers both Intercity and Sprinter trains, providing travelers with options to suit their travel needs—be it for a speedy trip or a more relaxed commute with stops at other picturesque towns. Arriva and Connexxion complement these services on certain regional routes, enhancing connectivity and ease of travel. While aboard, passengers can enjoy comfortable seating, ample luggage space, and onboard amenities such as Wi-Fi, making the trip between these two vibrant cities pleasant and convenient.
Embarking on a train journey from Amsterdam to Haarlem offers a scenic and efficient travel experience. The distance between Amsterdam and Haarlem is approximately 10 miles (17 km), providing a quick and convenient connection. The average train journey duration is about 9m, ensuring you reach your destination comfortably and swiftly.
The Amsterdam to Haarlem train service is frequent and reliable, with trains available throughout the week. You can expect about 500 trains running daily, ensuring ample options for travel on any day. This makes planning your trip around attractions or business meetings in Haarlem easy and stress-free.
For those early risers or late travelers, the train schedule accommodates all. The first train typically departs from Amsterdam at 00:01, while the last train journeys towards Haarlem at around 23:58. Such a schedule ensures you have the flexibility to travel at your preferred time, whether you're starting your day or heading back after a full itinerary.
When departing from Amsterdam, you have various train station options to start your trip from including Amsterdam Centraal and Amsterdam Sloterdijk. When arriving in Haarlem, you can end your journey in train stations like Haarlem and Haarlem Spaarnwoude.
Passengers board the train most frequently from Amsterdam Centraal, which is located around 1.1 miles (1.7 km) away from the city centre, and they get off the train at Haarlem, located 1.9 miles (3.1 km) away from the city centre.
Here are some other resources that might have the information you need