Waitangi Day and Anzac will be "Mondayised" in future under a bill that has been passed by Parliament.
When they fall on a weekend, the following Monday will be a public holiday.
Labour MP David Clark's member's bill passed its third reading by 61 votes to 60 on Wednesday.
No one is going to feel the benefit for a while - Anzac Day next falls on a weekend in 2015 and again in 2020, while Waitangi Day next falls on a weekend in 2016.
The Government opposed the bill because of the economic cost but didn't have the numbers to stop it.
Department of Labour advice is that the cost to the economy when one holiday falls on a weekend, and workers get a holiday the following Monday, would be $203.6 million.
If both days fell on a weekend in the same year it would cost $407.2 million.
Labour MPs dispute those figures and say the cost will be far less than the department has estimated.
Mr Clark is overseas and Labour's deputy leader Grant Robertson launched the third reading debate.
"This is about giving hard working New Zealanders a fair go," he said.
"Holidays are about recharging and they're very important for productivity and workplace morale."
National's David Bennett, speaking for the Government, said it had to take "the full circumstances" into account and wasn't trying to penalise workers.
Other Government MPs said the value of commemorations would be diminished if the holidays followed the actual days.
Mr Robertson said that since Australian states "Mondayised" Anzac day turnouts had increased.
"Commemorations will continue to be on April 25 and February 6 every year," he said.