A teenager is in a critical condition after a roof collapsed, local media say. The spire of the city's cathedral also snapped off.
After Sunday's tremor, Zagreb's mayor urged people to return to their homes given fears about the coronavirus.
The 5.3-magnitude quake is the largest to affect the city in 140 years.
Aside from the teenager, another sixteen people were injured.
Panicked residents ran out into the streets when it struck around 06:00 local time and were initially told to stay out by authorities.
"Keep your distance. Don't gather together. We are facing two serious crises, the earthquake and the epidemic," Interior Minister Davor Bozinovic said.
However Mayor Milan Bandic later said they should return home. "Eighty per cent of Zagreb residents live in structures that have reinforced concrete structures," he said.
Several buildings were damaged, including the parliament. It will be out of action until further notice. Speaker Gordan Jandrokovic described the damage as "quite extensive".
The BBC's Guy Delauney in the region says the earthquake acted as a cue for some residents to head for their holiday homes on the coast.
But by early afternoon police had closed motorway toll booths and set up control points to prevent people entering coastal districts because of fears of spreading coronavirus, our correspondent reports.
Croatia has more than 200 Covid-19 infections.
People in southern Austria and Slovenia also felt the tremor. (BBC)