Gay rights campaigners in Russia have held several small protests since the adoption of a law in June banning homosexual "propaganda" directed at minors. Critics say the law curtails homosexuals' rights to free speech and assembly.
The issue has attracted growing international attention ahead of Russia's hosting of the Winter Olympics in Sochi next year. Gay rights activists have called for participants and sponsors to boycott the games in protest at the law.
The disturbance in central St Petersburg began after a group of around 15 gay rights activists tried to hold a demonstration to mark International Coming Out Day.
They were far outnumbered by the anti-gay demonstrators, including several dressed as Cossacks and Orthodox priests, who had occupied the site of the planned demo.
The anti-gay demonstrators included several elderly women who chanted Russian Orthodox prayers.
"The homophobes broke up the action with the help of the police," said Natalia Tsymbalova, one of the organizers of the gay rights demo.
Another demonstrator called Maria told Reuters that when a pro-gay demonstrator tried to unfurl a rainbow-colored flag, she was manhandled to the ground and the flag torn from her.
A police representative told Reuters that 67 people had been detained. They included both gay rights activists and their opponents.
Russia's President Vladimir Putin has denied the new law is aimed at cracking down on homosexuals' rights.
Opinion polls suggest it is backed by a majority of Russians, including many conservative Russian Orthodox believers who regard homosexuality as a sin.