Protesters challenging the ban on rallies due to the pandemic, threw bottles, stones and flares at the police guarding the Parliament building, and the police responded with tear gas to disperse them.
Similar clashes erupted twice earlier this week. The protests started when populist president Aleksandar Vučić announced a strict curfew for the weekend to curb the increase in new cases of coronavirus.
Vučić then removed the curfew and the authorities instead banned gatherings of more than 10 people in the capital, Belgrade, and shortened the working hours of the companies covered.
Many in Serbia have accused Vučić, who is becoming more and more authoritarian, and his government of having allowed the crisis to get out of control by organizing a paralimentary election on June 21 which tightened the grip of the ruling party.
Vučić denied this, although authorities relaxed the rules before the vote, allowing a large crowd at football matches, weddings and other events.
On Friday, the Serbian Prime Minister announced the highest number of deaths per day, 18, since the start of the pandemic in the Balkan country. Authorities reported 12 new deaths and 354 new infections on Saturday.
The country has had more than 18,000 confirmed infections and 382 deaths since March, and health officials say hospitals are almost full due to the latest increase in cases.
Vučić said the involvement of foreign security services not specified in the unrest and said that he would not be hit on the streets. Some opposition leaders have blamed the riot on groups they claim are government-controlled and sent to discredit peaceful protests.