Reports say at least 100 people were detained, including National Bolshevik Party leader Eduard Limonov who called for the resignation of President Vladimir Putin at the rally. No information was immediately available on how many people were injured.
It was not immediately clear what sparked the violence in Russia's second-largest city, which came a day after police detained more than 150 people trying to hold a march in Moscow.
Police had vowed to thwart any breaches of public order.
Cordons of police lined the square on the edge of St. Petersburg where the rally was held.
City authorities gave permission for the rally at the square outside the Young Spectators' Theater, but banned plans for a march that would go down the city's main avenue and then on to the city government headquarters.
A coalition of opposition groups have organized the March of Dissent rallies to protest at what they call a clampdown on democratic freedoms.
RFE/RL's Russian Service reported that police on April 14 detained more than 100 anti-Kremlin activists in a bid to stop an unauthorized opposition rally in Moscow.
Among those detained was Garry Kasparov, the former world chess champion and a leader of Other Russia. The opposition political bloc, which is critical of the government of Russian President Vladimir Putin, says it is using peaceful pressure in an attempt to persuade the authorities to hold free and fair elections next year.
Police and OMON special forces moved to break up the unauthorized rally before it began, but their detention of Kasparov looks certain to provide publicity for Russian opposition efforts.
Many of those detained went quietly, but others struggled and were forced into police vehicles by officers holding truncheons around the detainees' necks.
Witnesses say Kasparov, who heads the United Civic Front opposition group, was hauled away to a police van, from which the chess whiz was seen waving and smiling to journalists near Pushkin Square in central Moscow.
In Moscow, Dima Tarasenkov of RFE/RL’s Russian Service said police also detained other leaders of the opposition umbrella group Other Russia.
"In Moscow's Pushkin Square, the leader of the youth group of the Yabloko opposition party, Ilya Yashin, was detained, along with another youth leader Maria Gaidar, and several Yabloko activists," he said.
Former Prime Minister Mikhail Kasyanov, another key opposition leader, was blocked by police from entering Pushkin Square.
Police also prevented other key opposition leaders from getting to the square, according to Tarasenkov. "Nikita Belykh, the leader of the Union of Rightist Forces, as well as State Duma Deputy Vladimir Ryzkov tried to reach Pushkin Square but couldn't get there because the police had blocked it off," he said.
March Of Dissent
In recent months, three previous demonstrations -- all called March of Dissent rallies -- were either broken up harshly or smothered by police in Moscow, St. Petersburg, and Nizhny Novgorod.
Demonstrators marched in St. Petersburg in March (TASS)
The rallies come after Boris Berezovsky, a Russian multimillionaire now living in London, said in an interview published on April 14 that he was fomenting a revolution
to topple Putin.
Other Russia has disassociated itself from Berezovsky's remarks, but they appeared to have raised the political temperature in Moscow.
Also today in the Russian capital, several other rallies took place with the approval of the authorities.
The largest was a pro-government demonstration near Moscow State University organized by the youth wing of the pro-Kremlin Unified Russia party. Organizers said some 15,000 people attended.
(with agency reports)