Getting there
Trains leave Amsterdam Centraal every 10 minutes on tracks 4a/4b. The ride is 15-19 minutes depending on the service, and a one-way ticket is $5.20 with a contactless card. Buy from yellow NS machines or tap directly at the gates. Haarlem station itself is a listed Art Nouveau building — worth the five-minute look before you walk south into town.
What to see
Grote Markt is the main square, dominated by the 15th-century Grote Kerk ($3.50 entry, closed Sundays to tourists). The Frans Hals Museum on Groot Heiligland ($18) holds the world's best collection of the Dutch master. The Teylers Museum ($16), founded 1784, is the oldest museum in the Netherlands and still has its original oak cabinets.
Walk along the Spaarne river to De Adriaan windmill for a $5 tour, or cross to the Haarlemmerhout, the oldest public park in the country.
Eat and combine with the beach
Jopenkerk is a brewery inside a converted church on Gedempte Voldersgracht — beers $6, mains around $18. For coffee, Native on Kruisstraat pulls the best flat white in town.
From Haarlem, the same line continues 10 minutes to Zandvoort aan Zee ($3 add-on). April to October the beach clubs are open and you can be in the sand within 30 minutes of leaving Amsterdam.
Questions answered
How long do I need in Haarlem?
Half a day covers Grote Markt, one museum and lunch. A full day if you add Zandvoort beach.
Is Haarlem cheaper than Amsterdam?
Meals run about 15-20% less. Museums are similar. Hotels are 25-30% cheaper if you want to base yourself here.
Which is better, Frans Hals or Teylers?
Frans Hals for painting, Teylers for atmosphere and physics-lab curiosities. Teylers if you can only pick one.
Do trains run late back to Amsterdam?
Yes, every 15 minutes until midnight, then hourly night trains. Last one is around 1:30.
Every stay booked through Stay Noord-Holland funds one verified tonne of carbon removal — same room, same price, the climate action already built into checkout.
You're not charged more and the hotel isn't paid less. It's just what happens when you tap Reserve.