The route: Zaanse Schans, Haarlem, Zandvoort
Start at Amsterdam Centraal at 08:15 on the Sprinter to Zaandijk Zaanse Schans (17 minutes, about €3.60 one way). You want to be at the windmills before the coach tours arrive around 10:30. Walk the wooden path along the Zaan, pay €5.50 to climb inside De Kat paint mill, and grab a cheese sample at the Catharina Hoeve. Skip the clog demo unless you have kids in tow. Back on the train by 11:30 toward Haarlem via Amsterdam Sloterdijk, arriving around 12:20 for lunch.
In Haarlem, walk from the station down Kruisstraat to the Grote Markt in 10 minutes. Lunch at Jopenkerk, the brewery inside a converted church on Gedempte Voldersgracht, or grab a broodje haring from Frites Atelier. Spend 90 minutes at the Frans Hals Museum (€17.50) or, if the weather is dry, just walk the Gouden Straatjes shopping lanes behind the Grote Kerk.
Afternoon at the coast and where to sleep
Catch the 15:45 direct train from Haarlem to Zandvoort aan Zee (11 minutes, €3.20). The station puts you 400 metres from the sand. Between April and October, walk south along the boulevard to the strandpaviljoens; Woodstock 69 and Tijn Akersloot are the reliable ones for a late lunch or an early beer. In winter, the light on the dunes at 16:30 is the real reason to come. Trains back to Amsterdam run every 15 minutes until midnight.
Sleep back in Amsterdam if you have onward travel, but if you want a quieter end, book NH Zandvoort or the Center Parcs cottages inland. Haarlem is the smartest base overall: Hotel Malts on Zijlstraat or ML in Haarlem near the Grote Markt both put you a 15-minute train from Amsterdam and a 12-minute train from the beach for half the city rates.
Questions answered
Is one day enough for Noord-Holland?
Only if you accept skipping Alkmaar, Texel and the Waterland villages. One day works for a windmill-city-beach sampler; anything more needs two.
Should I rent a car for this?
No. All three stops are on direct trains from Amsterdam Centraal and parking at Zaanse Schans costs €12.50. The car costs you time and money here.
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.