The crowd gathered outside the entrance of the Beijing Zoo wholesale market in the west of the city, punching their fists in the air and shouting, "Return our money!"
Rows of police officers encircled the crowd, with some wearing riot gear as the two sides bumped against each other.
Street protests are rare in the Communist-ruled country, especially ones that continue over multiple days, and authorities usually shut them down swiftly.
Videos some shopkeepers posted on social media showed protesters and police pushing each other on Thursday.
More From This Section
"At least three people got hurt and two went to hospital," said a protester from neighbouring Hebei province, who did not want to give his name out of fear of reprisal.
Most of the shopkeepers are migrants from other parts of the country.
"I have been paying rent on four stalls after signing a 20-year contract for them. We moved to Beijing to support our children and now we have nowhere to go," said Ye, a woman from eastern Zhejiang province.
"We are not making any big demands. We just want some appropriate compensation," said the 33-year-old.
"We have all these suitcases and handbags to sell, but don't even have any place to store them now," she added.
The market was built in the mid-1980s and was attracting nearly 100,000 customers daily in 2015, according to the state-owned China Daily.
Plans to close the Beijing Zoo market businesses in order to "reduce traffic congestion and population density" were first announced in 2015, according to the state-owned Beijing Times.
The capital's official population is over 21 million, but the figure does not account for the number of unregistered residents.
The local Xicheng district government office did not answer calls from AFP.
Calls to the management of the wholesale market also went unanswered.