"It's scandalous to see bleach being poured into supermarket dustbins along with edible foods," said Socialist member of parliament Guillaume Garot who sponsored the bill.
The national assembly voted unanimously in favour of the measure late Thursday.
Bigger supermarkets with a footprint of 400 square metres or more will be obligated to sign formal contracts with charities by July next year, or face penalties including fines of up to €75,000.
The move is part of a wider government effort to reduce food waste in the country in half by 2025. But supermarket waste makes up only 5 per cent of the country’s total waste, according to the European Commission. French people throw away an average of 20 to 30 kilograms of food per person annually, at a combined national cost of about 20 billion euros.
The new law will also introduce an education programme on food waste in schools and businesses.
The vote follows a measure in February to remove the best-before date on fresh foods.
Last month, MPs presented suggestions to the French government to end food waste, among them that restaurants allow patrons to take away "le doggy bag" after a meal to reduce food waste.