Russian police in riot gear moved in against the march of more 1,000 people amid screams of protesters shouting "you are criminals" and "stop police terror".
Moscow police said around 1,200 took part in the march and more than 200 people were arrested.
AFP correspondents witnessed dozens of arrests during the demonstrations, which took place on Russia Day, a public holiday.
As police dragged protesters into vans the crowd yelled: "Shame, on Russia Day, this is our country's day! Have you forgotten the constitution?"
Some of the arrested wore T-shirts in support of Ivan Golunov, an investigative journalist who was last week arrested on trumped-up drugs charges.
One detained activist brandished a placard saying, "I am Ivan Golunov" in the window of a police van.
At least four journalists were detained including a producer for Der Spiegel, a German news magazine.
"The authorities are very much scared of the fantastic and unanimous display of solidarity in the Golunov case," Navalny tweeted.
"So it's important for them to destroy common solidarity and then intimidate and put in prison those who insist (on reforms)."
Golunov's arrest sparked outrage and triggered unprecedented solidarity among Russians, with three top newspapers publishing the same front page: "I am/we are Ivan Golunov" in giant letters on Monday.
Wednesday's march was initially called to press for the release of Golunov who was then suddenly freed, with the charges against him dropped, on the eve of the rally following several days of public outrage.
Many saw Golunov's release as a Kremlin attempt to crush the new protest wave.
Protesters called for reform of Russia's tainted law enforcement agencies and the release from prison of victims of police abuse.
Some urged the release of political prisoners including Ukrainian filmmaker Oleg Sentsov.
On the eve of the march the Kremlin said the protest could interfere with Russia Day festivities.