Shielded riot police barricaded themselves inside Belgrade’s city hall as they fired tear gas at hundreds of opposition supporters who were trying to enter the building.
The demonstrators had gathered in the Serbian capital on Sunday as they called for the annulment of parliamentary and local elections which took place last weekend.
International observers said the election was unfair.
Some demonstrators threw flares at police and broke windows near the entrance of the building while others shouted “open the door” and “thieves” during Sunday night’s disorder. They also pelted the building with eggs.
Some chanted “Vucic is Putin,” comparing the Serbian president Aleksandar Vucic with Russia’s leader.
Later, the police pushed the crowd from the downtown area and made several arrests. There were no immediate reports of injuries.
Mr Vucic, who has said claims of voting irregularities during the elections were blatant “lies” promoted by the political opposition, called the protesters “thugs” as he addressed the nation during the disorder in Belgrade.
He added that they would not succeed in destabilising the state and said: “This is not a revolution.
“They will not succeed.”
Mr Vucic added that “we are doing our best with our calm and mild reaction not to hurt demonstrators” who came to the event to protest peacefully.
The populist president also suggested the unrest was instigated from abroad as the country’s authorities denied rigging the vote and described the election to fill parliament and local offices as fair.
Results from the 17 December election showed victory for Mr Vucic’s Serbian Progressive Party in both the parliamentary and Belgrade city ballots.
Read more:
Ukraine claims to have downed three Russian bomber jets
At least 13 dead in explosion at nickel factory
The party’s main opponent, the Serbia Against Violence alliance, said it was robbed of a win, especially in Belgrade.
The vote has caused political tensions in the Balkan nation, which is seeking close ties with Russia but also European Union membership.
In a letter sent to EU institutions, officials and member nations, Serbia Against Violence said it would not recognise the outcome of the elections.
The alliance called on the EU to do the same and to initiate an investigation.