The lower house of parliament in Russia, the Duma, has passed a law imposing heavy fines for providing information about homosexuality to people under 18.
The measure was passed unanimously and will become law when approved by the upper house and President Vladimir Putin, a virtual formality.
Gay rights campaigners clashed with anti-gay activists outside the Duma as the legislation went through on Tuesday.
Under the new law, individuals promoting "homosexual behaviour among minors" face fines of up to 5000 roubles (£100) while officials risk paying 10 times that amount.
Businesses and schools could be fined up to 500,000 roubles.
The BBC reports homosexuality was decriminalised in Russia in 1993, but anti-gay sentiment is high.
A recent poll found that nearly half of Russians believe that the gay and lesbian community should not enjoy the same rights as other citizens.
The lower house also passed a bill imposing up to three years in prison on those who offend religious believers.