Nearly 50,000 opposition supporters rallied and dozens were arrested in Moscow on Saturday at one of the largest authorised protests since President Vladimir Putin's return to the Kremlin in 2012.
Demonstrators crowded the central Prospekt Andreya Sakharova street, where city authorities deployed a massive police presence, including officers in riot gear, after permitting for the rally to go ahead.
The White Counter, an NGO that tracks participants in rallies, counted 49,900 people, while Moscow police gave a much lower attendance figure of 20,000.
A total of 71 people were detained in Moscow and a further 80 were arrested in Russia's second-largest city of Saint Petersburg, according to OVD-Info, an NGO that monitors detentions at protests.
In recent weeks, thousands have attended street protests calling for free and fair elections after the exclusion of several opposition figures, including allies of top Putin critic Alexei Navalny, from local Moscow polls next month.
While the rally was authorised, Navalny -- who is currently in jail -- had urged supporters to walk peacefully through the city afterwards.
Navalny's associate, Boris Zolotarevsky, told protesters to proceed to Putin's administration offices. He was detained by police shortly afterwards.
- 'Citizens are hostages' -
At the rally, some protesters carried placards with slogans such as "Give us the right to vote!" and "You've lied to us enough", while others held up pictures of activists arrested at earlier demonstrations.
"I'm outraged by this injustice at every level. They're not letting candidates stand who have collected all the necessary signatures. They are arresting people who are protesting peacefully," said one protester, Irina Dargolts, a 60-year-old engineer.
"It feels like the country is a prisoner and its citizens are hostages... No one represents the people," said Dmitry Khobbotovsky, an activist for the Open Russia movement funded by Kremlin foe and former oligarch Mikhail Khodorkovsky.
Showing the movement's appeal to young Russians, one of the country's most famous rappers, Oxxxymiron, attended the rally and another popular rapper Face performed on stage.
"I'm performing here today so that my people have freedom and the right to choose," said Face, 22, known for his facial tattoos.
- Police crackdown -
Riot police and the national guard had detained over 2,000 people at the previous two rallies, which were not authorised by city officials, and a dozen protesters face criminal charges and risk jail terms for "mass disorder".
Most opposition candidates banned from participating in the Moscow election have now been jailed for violating protest laws.
One of the rally speakers was the wife of opposition politician Dmitry Gudkov, who is serving a 30-day sentence.
"Each of us has the right to run for office and they are very afraid of that," said Valeriya Gudkova.
"We have real support from the public and they just have criminals in their electoral commissions."
- 'Attempt to gag us' -
As he enters his third decade in power, Putin's approval ratings have dropped significantly and critics say the authorities fear any outlet calling for wider political change.
The latest demonstration came this week as authorities mounted their harshest attack yet on Navalny's team, focusing on his anti-corruption foundation which publishes investigations of officials close to Putin.
One of the foundation's lawyers, Lyubov Sobol, was detained Saturday at her campaign office by police in riot gear, she wrote on social media.
Riot police also raided the studio where Navalny's supporters were set to run a live broadcast of the protest, activists said.
On Thursday, investigators raided the foundation's office as part of a probe into alleged acceptance of donations of laundered money and a court froze the foundation's accounts.
"This is the most aggressive attempt yet to gag us," Navalny wrote in a blog entry he issued through lawyers while serving a 30-day sentence.
A total of 71 people were detained in Moscow and a further 80 were arrested in Russia's second-largest city of Saint Petersburg, according to OVD-Info, an NGO that monitors detentions at protests