Rioters threw petrol bombs and stones at armed police, who responded with tear gas and rubber bullets.
The office of the ruling Democratic Party was briefly set on fire, and at least one shot was fired.
Calm was eventually restored but more than 100 people, mostly police, were injured, with another 100 arrested.
Sunday's march was the first Gay Pride parade in Serbia since a 2001 event was broken up in violent clashes provoked by far-right extremists.
Before the march, the head of the EU mission in Serbia, Vincent Degert, addressed around 1,000 gay activists and their supporters who gathered at a park in downtown Belgrade surrounded by riot police and armoured vehicles.
"We are here to celebrate the values of tolerance, freedom of expression and assembly," Mr Degert told the crowd.
While the Gay Pride parade was moving though the city, several hundred protesters began chanting at those taking part as they tried to get close to the march.
"The hunt has begun," the AFP news agency reported them as saying. "Death to homosexuals."
Reports told of gangs of skinheads roaming the streets, throwing petrol bombs and setting off firecrackers as police battled to hold them back.
Thousands of police had sealed off central Belgrade to protect the event.
While the march took place in a heavily-protected area in and around Manjez park, violence flared at several points further afield in central Belgrade.
The Terazije boulevard was littered with rocks and debris by the time the rioting was quelled. Several cars were overturned and had been set on fire.
Democratic Party spokesperson Jelana Trivan said the violence had nothing to do with moral values.
"These are hooligan gangs which must be punished severely," Ms Trivan said.
The mayor of Belgrade, Dragan Djilas, said the rioters had used Gay Pride as an excuse for a brawl.
"What's going on now has nothing to do with the Pride parade. Unfortunately there are always people who will use every opportunity to destroy their own city. Fortunately no lives were lost - this is the most important thing."
Marchers also bemoaned the continued evidence of agressive homophobia among some sections of Serbian society.
"It is a shame for me to march, to stand for what I am, and to have thousands of cops protect me from hysteric [sic] nationalists," lesbian activist Milena, 36, told Reuters.
A gay pride march planned last year was cancelled amid fears of violence.
On Saturday, several thousand people had protested against the march. Right-wing groups say that homosexuality is contrary to Serbian religious and family values.
The Serbian Orthodox Church condemned the parade on Friday but also warned against violence against participants.
The BBC's Mark Lowen says homosexuality is still largely a taboo in Serbia, a conservative and religious nation.
This year's event was being seen as a test of how far the country has come from the ultra-nationalism and violence of the 1990s and on its path to EU membership.