Police and protesters were hurt in riots that broke out outside the National Assembly in the Serbian capital Belgrade.
The protests began peacefully and included students and families, angered by a decision to re-impose a weekend curfew because of a rise in coronavirus infections.
Protesters broke into the assembly, prompting police to intervene.
Clashes erupted and police fired tear gas to disperse the protesters.
Far-right nationalists have been blamed for stirring up the unrest and storming the assembly building. Serbian media said they included an MP who has pushed anti-vaccine and anti-5G conspiracy theories.
Dozens of people were hurt, reports say, including police and protesters.
Why the protests began
On Tuesday, Serbia saw its deadliest day so far in the pandemic. President Vucic announced in a televised address that there had been 13 deaths and 120 people were on ventilators, with 4,000 people being treated in hospital.
The situation was most alarming in Belgrade, he said, before imposing a ban on gatherings of more than five people from Wednesday, with a curfew in force from 18:00 local time (16:00 GMT) on Friday until 05:00 on Monday morning. For now, the curfew will apply only to the capital, but Mr Vucic is keen for it to be extended nationally.
Serbia has seen a dramatic rise in cases and authorities have announced a state of emergency in several towns and cities.
Opponents accuse the president of lifting the lockdown far too early, in May, allowing football matches with spectators and few limitations on movement ahead of elections on 21 June that Mr Vucic’s party won by a landslide.
The situation was critical in four cities, Mr Vucic warned. Some restrictions were brought back last week in areas where the virus is most prevalent. Prime Minister Ana Brnabic was booed when she visited Novi Pazar, one of the cities worst hit by the new outbreak.
What happened outside parliament
The protests against the re-imposed curfew began with a mixture of locals, including students and members of the “Don’t let Belgrade drown” citizen movement, which described the gathering as spontaneous. Many of them observed social distancing although not everyone wore masks.
Scuffles broke out between police and protesters later in the evening and shortly after 22:00 local time (20:00 GMT), a large group entered the assembly building, reportedly involving ultra-nationalists and anti-vaccine campaigner Srdjan Nogo. Crowds could be heard chanting “Serbia has risen”.
After about 15 minutes, police managed to clear the assembly building, but clashes continued outside. Rocks were thrown, police used tear gas and protesters set police cars alight.
The prime minister condemned the storming of parliament as a “violent attack” while Serbia and its health system were facing the biggest moment so far in the pandemic.
President Vucic says hospitals in Belgrade are almost full while those in Nis, Novi Pazar, Zemun and other cities are filling up fast.