The by-law was backed by local deputies of the pro-Kremlin United Russia Party. It still requires the approval of the city governor before taking effect in the next few weeks.
Homosexuality, punished with jail terms in the Soviet era, was only decriminalised in Russia in 1993. Anti-gay prejudice still runs deep. The new legislation would impose a fine of up to 5,000 roubles (£120) for individuals and 500,000 roubles for companies. United Russia deputy Vitaly Milonov said it sent a signal that Russia won’t tolerate “liberal western ideals”.