An opposition supporter carries a portrait of president Vladimir Putin during a protest in Moscow (AP)
Tens of thousands of people have marched across central Moscow in the first major protest in three months against President Vladimir Putin - a sign of the opposition's strength despite the Kremlin's efforts to muzzle dissent.
Leftists, liberals and nationalists mixed up with students, teachers, gay activists and others on the capital's tree-lined boulevards, chanting "Russia without Putin!" and "We are the government!".
The protest remained peaceful as about 7,000 police officers stood guard along the route of the march, and a police helicopter hovered overhead.
The demonstration showed that opposition sentiment has remained strong, despite the government's efforts to stem the protest movement that had fielded more than 100,000 people to the streets last winter in a series of massive protests against Mr Putin's election to a third presidential term.
Mr Putin has taken a tougher course against the opposition since his inauguration in May with a series of new repressive laws, arrests and interrogation of activists.
In August, a court handed two-year prison sentences to three members of the punk band Pussy Riot for performing an anti-Putin song inside Moscow's main cathedral. Some activists on the latest march carried big balloons painted with balaclava masks - the band's trademark headwear.
The rally, which had received the required permit from authorities, appeared to be as big as the last major protest in June, which also attracted tens of thousands.
The organisers had spent days in tense talks with the city government over the protest route as the authorities tried to move it farther away from the city centre. Such tense bargaining preceded each of the previous opposition marches.
Alexei Navalny, a charismatic anti-corruption crusader and a popular blogger who was a key driving force behind the opposition protests, urged the demonstrators to show resolve and keep the pressure on the Kremlin with more street protests.
"We must come to rallies to win freedom for ourselves and our children, to defend our human dignity," he said to cheers of support. "We will come here as to our workplace. No one else will free us but ourselves."