It marks a big moment for Cuba, which saw gay people persecuted and sent to work camps in the 1960s and 70s.
However, there was significant opposition to the reforms among religious groups and conservatives.
The referendum on Sunday was for a new Family Code – a 100-page document which went through more than two dozen drafts and hours of debate in community-level meetings.
Cuba’s government had backed the law change and ran a nationwide campaign urging people to approve it.
Speaking as he voted on Sunday, the country’s President, Miguel Díaz-Canel, said he expected most of the population would vote yes and that the new code reflected the diversity of people, families and beliefs.
On Monday, preliminary results indicated an “irreversible trend”, with 66% of votes counted so far in favour of the reform, electoral council president Alina Balseiro said on state television, according to AFP news agency. The law required 50% of voters’ approval to be adopted.
The reforms were the culmination of efforts by gay rights activists in Cuba.
Official attitudes towards homosexuality on the Communist-run island have changed over the past decades, partly thanks to the efforts of former leader Raúl Castro’s daughter Mariela.
In the early part of communist leader Fidel Castro’s rule after the 1959 revolution, homosexual men and women were sent to work camps for supposed “re-education”.
However, many in Cuba still oppose the step, including evangelical churches and other non-religious conservatives.
Parts of the opposition also campaigned for a “no” vote, urging Cubans to seize a unique opportunity to hand the country’s communist government a defeat in the polls.
Some anti-government activists consider the referendum an effort by the state to improve its human rights image following a brutal crackdown on all forms of dissent in recent years.
The referendum also comes during a serious energy crisis, which has led to daily power cuts affecting millions of people across the island.