"We seek protection of our basic human rights. Our families are not inferior," gay rights activist Sanja Juras told the crowd.
"We expect from the government some concrete actions: right to marriage and common-law marriage," she said.
The participants marched through downtown Zagreb to the main government offices where they put out a giant rainbow flag and read out their demands.
They carried banners reading "Jesus also had two Fathers" and "Different Families - Same Rights." They chanted "Love is Love" and "Marriage for All."
The event, organised by gay rights groups, was secured discretely by a few dozen special police officers and took place without incident.
"I support my homosexual friends who have the right to make choices and make them legal," Maja, a 38-year-old hairstylist, who came to the march with her two-year-old daughter, told AFP.
The march comes a few weeks after a Catholic Church-backed group launched a petition seeking a national referendum on whether to include a definition of marriage as the "union of a man and a woman" into the constitution.
Croatia's current constitution does not contain a provision defining marriage and the initiative is seen as an attempt to prevent any future legalisation of homosexual marriages.
The group 'In the Name of the Family' said they had collected more than 500,000 signatures in the country of 4.2 million, enough for a referendum to be held.
But Juras said it was "completely unacceptable that a human rights issue be put on a referendum."
In 2003 Croatia extended the same rights to gay couples living together as to unmarried heterosexual couples, including state recognition of shared assets. The law only applies to gay and lesbian couples living together for at least three years.
The centre-left government has announced plans to boost gay couples' rights, without providing many details.
Croatia, where the Catholic Church has a strong influence, has held Gay Pride parades every year since 2002, without major incidents but always under heavy security.