For the first time since August, police allowed a rally by the Civil Human Rights Front, a pro-democracy group.
Organisers said an estimated 800,000 took part while police put the number at 183,000.
Police said 11 people were arrested in raids ahead of the rally and that a handgun was seized.
The protests started in June over a controversial extradition bill, and have now evolved into broader anti-government demonstrations.
"I will fight for freedom until I die," said June, a 40-year-old mother in Victoria Park, where protesters gathered.