Thousands of riot police with armoured vehicles, water cannon, horses and shields sealed off streets leading to the site of the short march from the government headquarters to parliament, to prevent a repeat of the running battles between police and hardline nationalists that took place in 2010.
Authorities banned Pride for the next three years, citing security concerns.
But with Serbia setting out on talks to join the European Union, the bloc has made clear it sees Pride as a litmus test of the country’s commitment to defending the human rights of all.
Hundreds of people took part, waving rainbow flags and blowing whistles as a police helicopter flew low over the city.
“I feel phenomenal. Our efforts of the past three years have borne fruit,” said Pride organiser Boban Stojanovic.
Asked about the scale of the police operation, co-organiser Goran Miletic said: “This is the Serbian version of the right to free assembly and speech.”
Homophobia is widespread in Serbia and other conservative societies in the Balkans; the head of the Serbian Orthodox Church last week compared homosexuality to paedophilia and incest.
Prime minister Aleksandar Vucic, a former ultranationalist who has rebranded himself as a pro-Western reformer, said on Thursday he had “no intention” of joining the march, but several of his ministers and the mayor of Belgrade turned out.
“I’m proud of my Belgraders and other citizens of Serbia,” Mr Vucic said after the march. “We didn’t do this because of the EU,” he said, “but out of respect for the constitution, the law and respect for all.
A number of small incidents were reported, but nothing on the scale of 2010 when shops were trashed, buses set ablaze and dozens of police officers and rioters were injured.
An opponent standing at the edge of the police cordon, who gave his name as Mihailo, said: “It’s shameful that we should block the capital to allow a few hundred individuals to demonstrate their perverted ideas. We’re entering Europe at the cost of every single Christian value.”
As yesterday’s march ended, a group of about 30 people tried to break through police lines guarding the premises of liberal independent broadcaster B92, known for years as a bastion of free speech in Serbia.
Taking part in the march, the EU’s envoy to Serbia, Briton Michael Davenport, said: “This march is an important step in the protection of fundamental human rights in Serbia that all people must enjoy, including the LGBT population.”