Police estimated about 14,000 people took part, RIA Novosti reported. Protest leaders put the number at more than 100,000, the Russian news agency said.
Liberal and nationalist protesters marched in a column down one side of the street and leftists and the "education industry" group strode down the other through downtown until they reached Prospekt Akademika Sakharova, where they merged as they approached the stage. With white-and-red flags, ribbons and balloons waving, the marchers hoisted placards denouncing Kremlin policies and deriding President Vladimir Putin and other Russian leaders.
"Putin is a thief!" and "We, here, are the power!" were among the slogans shouted.
They also protested the prison term given three members of the feminist punk group Pussy Riot.
"I'm here to protest the Pussy Riot jailing first of all. It's just out there," said Andrei, a 52-year-old computer programmer who declined to give his last name.
There was a strong police presence at the rally, but no sign of provocations were reported to have been in the planning stage prior to the event.
Among those at the rally were noted leftist activist Sergei Udaltsov, anti-corruption blogger Alexei Navalny, chess champion-turned-politician Garry Kasparov, former Prime Minister Mikhail Kasyanov and former opposition lawmaker Gennady Gudkov, who was dismissed from the State Duma Friday over his alleged business activities.
RIA Novosti said rallies also took place in several other cities Saturday.