Some 1,000 people protested in Zagreb on Monday calling for tolerance after unknown attackers released tear gas in a nightclub hosting a gay party at the weekend.
The incident in the early hours of Sunday sparked a panic at the Super Super club in staunchly Catholic Croatia's capital, with some of the 300 revellers smashing windows as they tried to escape.
Two people were slightly injured, police said.
The Balkan country's top officials and rights groups strongly condemned the incident.
The conservative government vowed in a statement to "firmly oppose any form of violence and hate speech, as well as racial, religious and gender discrimination".
Monday's "protest against hatred and violence" was organised by the Zagreb Pride gay rights group, which called the incident a "brutal and barbarian attack on human lives".
"We don't tolerate intolerance", read some of the banners carried by the protesters, many of whom waved rainbow flags.
"There are fears of society's radicalisation," Boris Kladar, a 60-year-old jurist who joined the protest, told AFP.
Gay rights have gradually improved in Croatia, an EU member which counts almost 90 percent of its 4.2 million-strong population as Roman Catholics.
Gay couples are allowed to register as life partners, enjoying the same rights as their heterosexual peers except on adopting children.
But its conservative society remains under the strong influence of the Catholic Church, which has labelled homosexuality a "handicap" and a "perversion".
Prime Minister Andrej Plenkovic, who came to power after a snap election in October, has pledged to crack down on extremism.
The previous centre-right government was accused by critics of turning a blind eye to a far-right surge in the country, including nostalgia for a pro-Nazi past, attacks on minorities and independent media.
But critics say the current administration has not done enough to move away from its predecessor's policies.