The breakthrough in talks between members of the National Assembly and Senate came a day after nationwide protests against the rules that saw over 160,000 rally and dozens arrested.
The agreement was reached after 60 hours of debate, with health minister Olivier Véran tweeting that it was “a good evening for democracy, a bad one for the virus”.
Belle soirée pour la démocratie, mauvaise pour le virus. Le Parlement adopte le pass sanitaire, la vaccination obligatoire des soignants, le renforcement de l'isolement. Après 60h de débat, majorité et opposition ont su retrouver le chemin de l'unité pour lutter contre l'épidémie
— Olivier Véran (@olivierveran) July 25, 2021
President Emmanuel Macron last week ordered that the health pass – proof of a double vaccination, recent recovery from Covid or a negative test – would be required for the French to visit venues such as a cinema or nightclub and ultimately bars and restaurants.
The announcement was a move by Macron to make vaccinations the number one weapon against Covid-19 as new variants emerge, and has seen 6 million people sign up for vaccinations in the two weeks since his speech.
But it has encountered fierce opposition from some who believe the vaccine passports erode civil liberties, while both upper and lower houses of parliament saw mammoth debates and hundreds of amendments proposed.
After talks, the bill was finally adopted late on Sunday with only minor changes from the original proposal.
The major change is the removal of criminal sanctions for establishments that do not check health passports – instead of a fine of up to €15,000 and a one-year imprisonment there will now be civil sanctions including the closure of the venue.
Employees of venues that require a health pass cannot be dismissed if they refuse to be vaccinated or regularly tested, but will instead be asked to take annual leave and then unpaid leave, while remaining an employee of the company.
Some 161,000 people, including 11,000 in Paris had protested on Saturday against the health pass, with demonstrators brandishing slogans including “freedom is being trampled on”.
Seventy-one people were arrested, including 24 in Paris, and 29 members of the security forces were injured, the ministry of the interior said.
On a visit to France’s Pacific territory of French Polynesia, Macron scoffed at how slogans of freedom were being brandished at the protests.
“Everyone is free to express themselves calmly with respect for one another,” he said. “But freedom, where I owe nothing to someone else, does not exist”.
He said that under such logic, relatives could be infected by someone who is not vaccinated “when there is the chance to have something that protects”, or the person could themselves end up in hospital.
“I don’t call this freedom, I call this irresponsibility and selfishness,” he said.
By maximising the number of vaccinations, the government wants to minimise the impact of the virus’ fourth wave. On Sunday France hit the milestone of 40 million people – 60 percent of the population – having at least one dose of the vaccine while 33 million are fully vaccinated.
France recorded almost 23,000 new Covid cases on Saturday, twice as many as last week, as the Delta variant causes infections to surge.
But in figures the government credits to the success of the vaccination rollout, there are 878 people in intensive care with Covid, compared with a peak of almost 6,000 at the end of April.