Employers will be able to pay some young people a cheaper rate from May with the introduction of a new starting-out wage.
Laws introducing the wage passed their third and final reading at Parliament on Thursday night.
They allow 16- and 17-year-olds to be paid 80% of the minimum wage, or $11 per hour, in their first six months of work with a new employer.
Minister of Labour Simon Bridges says the starting-out wage will create jobs by encouraging employers to take on young people.
However, the Labour Party says older workers will be displaced.
The Public Service Association says workers should be paid on the basis of their work and skills - not their age.