Several gay rights activists have been arrested at the start of a banned demonstration outside the Moscow mayor's office.
The protesters were attempting to deliver a letter calling for the right to hold a Gay Pride parade on Sunday when ultra-nationalists shouting "death to homosexuals" kicked, punched and threw eggs at them.
Peter Tatchell, a British campaigner, was punched in the head in full view of police and dozens of journalists. A second activist was seen bleeding from his face after being assaulted.
Hundreds of police lined the streets ahead of the banned protest and separated the groups after the clashes.
"We are defending our rights," a young man named Alexey said after he was beaten up by a man screaming "homosexuals are perverts".
"This is terrible but I am not scared. This is a pretty scary place, a pretty scary country if you are gay. But we won't give up until they allow us our rights," he said.
Nikolai Alexeyev, the organiser of Russia gay pride march, was among those detained as he tried to present the petition - also signed by dozens of members of the European parliament - requesting permission to hold the march and others like it.
Yury Luzhkov, Moscow's mayor, has refused to allow gay rights marches and has previously referred to them as "the work of Satan".
|Protesters had been trying to present a petition|
asking for permission to hold a march [AFP]
Alexeyev told Reuters news agency by telephone from a police station that about 20 people had been detained, a figure confirmed by police.
"We are sitting in the police station right now. We were detained outside the mayor's office when we tried to present the petition," he said.
Several far-right demonstrators were also detained by police.
Members of the European parliament, the Strasbourg assembly of the European Union, as well as Italian, German and Austrian MPs took part in the protest.
Volker Beck, a German green party politician and gay rights campaigner, was hit in the face with eggs before being detained by riot police.
"We didn't do anything," he said as he was led away.
Claudia Roth, the chairwoman of Beck's party, called on Angela Merkel, the German Chancellor, to raise the issue of rights with Vladimir Putin, the Russian president, at next month's G8 summit.
"It has been shown once again today that human rights are systematically abused in Putin's Russia," she said in a statement.
The march was planned to mark the 14th anniversary of Russia decriminalising homosexuality.
Last year, more than 100 people were arrested at a banned gay rights demonstration in Moscow and dozens were attacked by right-wingers shouting "Moscow is not Sodom".