Police arrested more than 600 people as they gathered in Moscow on Saturday to demand fair local elections, the latest in a wave of protests after authorities blocked opposition candidates from the ballot paper.
Around 3,500 people took to the streets for the unauthorised rally, according to official figures. Several of the arrests were violent and police used batons against protestors, AFP reporters at the scene saw.
The demonstration came a week after the capital's biggest protest in years, when some 22,000 marchers called on officials to reverse rulings and allow opposition activists to stand for the city council in September.
Since then investigators have raided the homes and headquarters of several disqualified candidates, while top Kremlin critic Alexei Navalny was jailed for 30 days for calling the fresh protest.
"Honestly, I'm scared," 42-year-old IT worker Alexei Sprizhitsky told AFP at the demonstration on Saturday.
He said the last time he had seen this level of pressure on activists was in 2012, when President Vladimir Putin's return to the Kremlin after four years as prime minister sparked popular dissent.
Other leading opposition figures and would-be candidates were arrested in the hours leading up to the Saturday's protest, which comes amid declining living standards and a fall in Putin's approval ratings.
Local polls are a rare opportunity for dissenting voices to participate in political life as anti-Kremlin parties have been squeezed out of parliament over Putin's two decades in charge.
OVD Info, which monitors demonstration, said at least 561 people had been arrested at the rally - more than one in seven of those officially taking part.
The organisation reported that arrested protesters suffered from various injuries including a broken nose and head fractures.
Security was tight in central Moscow and police shut down the area outside city hall where protesters were planning to gather, forcing participants out onto side streets.
"This is our city!", "Shame!" and "We want free elections," the crowd chanted as police blocked off the site.
Politician and disqualified candidate Dmitry Gudkov was arrested shortly before the march. Earlier he had said the future of the country was at stake.
"If we lose now, elections will cease to exist as a political instrument," he said.
"What we're talking about is whether it's legal to participate in politics today in Russia, we're talking about the country we're going to live in."
While pro-Kremlin candidates enjoy the support of the state, independent candidates say they have been made to jump through countless hoops in order to get on the ballot for the city polls.
After activists and ordinary Muscovites staged pickets last week, including outside the local election commission building, investigators said they were launching a criminal probe into obstructing the work of election officials.
If found guilty, organisers risk up to five years in prison.
Navalny ally Ivan Zhdanov said he had been arrested shortly ahead of the demonstration. Barred candidate Ilya Yashin meanwhile announced he was detained in the early hours of Saturday morning following a raid on his home.
Would-be candidate Lyubov Sobol, who this week launched a hunger strike, was arrested at the demonstration.
Moscow Mayor Sergei Sobyanin called the unauthorised protest a "security threat", adding that "order will be ensured according to the relevant laws".
Elena Rastovka, a 68-year-old pensioner at the demonstration, told AFP: "I've been afraid all my life, but enough is enough. If we stay at home, nothing will change.
"Authorities arrest people who want to challenge them. Look at what they're doing - the authorities do not like the people."
Some said it was the authorities' heavy response that had turned a local issue into a major protest movement.
"Who would have thought it would become important to take part in such a bizarre and boring affair as the Moscow parliament election?" asked Viktoria Popova, a 30-year-old illustrator, ahead of the rally.