Zagreb doesn't have one sight that sells the city, and that's the first thing to know. The coast gets the postcards. The capital got something less photogenic and more livable: two medieval towns on neighboring hills, Gradec and Kaptol, that were often at war with each other and were stitched together by a grid of parks and 19th-century façades. Gradec became a free royal town through the Golden Bull of 1242 and had to wall itself in, Kaptol was the bishop's seat, and the cathedral still stands on it. In 1882 the planner Milan Lenuci conceived a horseshoe of squares and parks around the new Lower Town, and the Green Horseshoe still frames the center.
Zagreb is a city of habits rather than monuments. A coffee goes on for an hour, the market is where people actually shop, and the Saturday morning promenade has a name, špica. It's also a city with some scars: the earthquake of March 2020 closed buildings that are still closed, and this plan says so wherever it matters. Three days cover the center properly, and the other two go to the two trips most people ask about: baroque Varaždin, and Plitvice Lakes in winter, with no varnish on how long it takes and what you can and can't see.
The plan runs day by day. Day one is the Upper Town and Kaptol, day two the Lower Town and the Green Horseshoe, day three Mirogoj cemetery, Maksimir park and a lake, day four Varaždin and day five Plitvice. Start on a Tuesday if you can: Lotrščak Tower, the Ethnographic Museum and the Varaždin museums are closed on Mondays, and Varaždin's Old Town closes at 1 pm on weekends. This guide is written for the Advent season and the weeks around it. The rule is that Advent in Zagreb runs from the last Saturday of November to early January, and in 2026 it's 28 November 2026 to 7 January 2027, with a warm-up from 25 November. If you're in Croatia for Christmas markets, read it next to our best Christmas markets in Europe, and for the rest of the country start at Croatia. Ljubljana is about 2.5 hours away by train or bus, so 5 Days in Ljubljana makes an easy second stop.