About 20 gay-rights activists had gathered in the centre of Russia's second city for the rally, waving rainbow flags and signs with messages such as "Stop homophobia in Russia!"
But the rally was cut short when a group of about 50 Orthodox Christian counter-demonstrators, singing and reciting prayers, attacked the activists, said an AFP photographer.
Police broke up the fight and arrested activists from both sides, about 20 people in all.
Gay rights is a divisive issue in Russia, where homosexuality was considered a crime until 1993 and a mental illness until 1999.