The first-ever Gay Pride parade has been held in the eastern Polish city of Bialystok, but the march was marred by violence from soccer hooligans and conservative campaigners staged counter protests, local police said.

Some 800 supporters of LGBT+ rights marched through the city some 200km northeast of Warsaw, waving rainbow-coloured flags and banners with slogans such as "love is not a sin".

But soccer hooligans wearing ultra-nationalist T-shirts threw stones, firecrackers and bottles at the marchers and at the police officers protecting them, a spokesman for the security forces said.

Catholic and nationalist organisations staged around 40 different counter-demonstrations in Bialystok, including a family picnic organised by a local MP.

Hundreds of people prayed in front of the cathedral as the march made its way through the city.

Lesbian, gay, bisexual and transgender rights have become one of the key issues in the upcoming elections this autumn in the devout Catholic country.

The decision to allow a Gay Pride parade in Bialystok was highly contested by local religious groups.

Homosexuality is a frequent topic of public debate in Poland, whose conservative ruling party leader Jaroslaw Kaczynski condemned gay rights as a "threat" in April.

Earlier this month, a Polish campaign group said that around 30 communities, including villages and regional assemblies, had in recent months declared themselves to be "free of LGBT ideology".