People from small South Pacific island countries, which currently have no reported cases, will be exempted, Ardern said in a news conference. New Zealand has a large South Pacific islander population.
All cruise ships will also be told not to come to New Zealand until June 30, she said.
Ardern said these were "far-reaching and unprecedented" measures to tackle a global pandemic. New Zealand has six confirmed cases and has not recorded any deaths.