Police fired tear gas and arrested at least 12 people as opponents of Lithuania’s first gay pride parade threw stones and fireworks at marchers.
Hundreds of people took part in the march in the capital, Vilnius.
Holding rainbow flags and dancing to music, they paraded along a road near the city’s Neris river.
The event, originally allowed by the city council, was banned by a court on security concerns, but on Friday an appeals court overturned the ban.
The ban was criticised by President Dalia Grybauskaite, some European governments, and the international rights watchdog Amnesty.
‘Step towards tolerance’
Hundreds of police officers, some on horses, provided security and kept more than 1,000 demonstrators away from the marchers.
Protesters carried crosses and signs, and shouted insults at march participants.
Marchers included many foreigners, diplomats and members of the European Parliament.
One of the organisers, Vytautas Valentinavicius, told the AFP news agency: “We’ve made a decisive step towards greater tolerance.”
Correspondents say that homosexuality is seen as taboo by many in Lithuania, a majority Roman Catholic country.
Lithuania, an EU member since 2004, has repeatedly been criticised by rights groups for widespread intolerance toward sexual minorities.