Croats voted overwhelmingly in favour of defining marriage in the constitution as a "union of man and woman" on Sunday, a move initiated by Roman Catholic groups but criticised by opponents as discrimination against homosexuals.
Almost 66 percent of those who voted in the referendum in the new European Union member endorsed the initiative, launched by the Catholic group "In the Name of the Family", according to preliminary results on Sunday night. Turnout was 37 percent.
The group had gathered over 740,000 signatures in support of the referendum, forcing parliament to call the vote.
The Social Democrat-led government disagreed with the referendum's demand, but the outcome was no surprise in a morally conservative country where 90 percent of the population of 4.4 million say they are Catholic.
The Church wholeheartedly backed the initiative, which sought to define marriage in the constitution rather than law so that its status can only be changed by a two-thirds majority in parliament.
"I am happy because, from now on, no future government will be able to legalise gay marriages," said Zeljka Markic, leader of "In the Name of the Family".
Ballet dancer Sanja Grgic said: "I have nothing against gay people, I have many gay friends, but I voted in favour because I think children should grow up in a family that has a mother and a father."
Opponents noted that Croatia now shares its constitutional definition of marriage with Belarus, Poland, Moldova, Bulgaria, Montenegro and Serbia, where intolerance of same-sex unions is widespread.
"This is discrimination, an attack on human rights and liberties. It's a stain we'll all have to carry," said Duje Prkut, one of the main activists in the 'Against' camp.
The campaign for the referendum began last year after the government introduced sex education in schools despite protests from Catholic groups.
It then hinted that it might grant same-sex couples the right to be treated as if they were married, with next-of-kin status and inheritance rights, albeit without allowing them to formally marry.
Prime Minister Zoran Milanovic had called the referendum "sad and pointless", but said the government would pass a bill giving same-sex couples more rights in the coming weeks.
While gay pride marches have become routine in Croatia, same-sex couples still face many practical challenges.
"Right now, I have no right to inherit my girlfriend's property, we cannot adopt children or get married, I could not visit her if she ended up in an old people's home," said Marta Susak, a 21-year-old student who came to vote holding hands with her girlfriend.
Leaders of the conservative opposition HDZ party supported the referendum demand. Some analysts said this was the start of a conservative backlash against the increasingly unpopular government, which has failed to revive the withering economy.
"This vote is not about marriage or the definition of marriage, this is a referendum against the current government," Davor Butkovic, an influential columnist, wrote in the pro-government Jutarnji List daily before the referendum.