Cardinal Andre Vingt-Trois, the bishop of Paris, opposes the bill, saying it is against church teachings. Most other religious groups, including Muslims, Buddhists and Jews, have said they are worried about the bill in its present form.
The measure would go to the Legislature in January and could be up for a vote in the Assembly and Senate in January and February, CNN reported. The office of Family Affairs Minister Dominique Bertinotti announced the Cabinet decision.
President Francois Hollande, the Socialist president, supports same-sex marriage.
A recent poll by Le Monde found strong support for same-sex marriage, with 65 percent of respondents saying they favor it. But only 52 percent support allowing gay couples to adopt.
Prime Minister Jean-Marc Ayrault said additional legislation will deal with whether same-sex couples are eligible for government assistance for reproductive help and whether unmarried gay couples can adopt.