England produced the third-highest total in eight Twenty20 internationals at Seddon Park to give themselves every chance of reaching Wednesday's tri-series final against Australia at Eden Park.
The visitors' batting line-up struck in waves on their way to 194 for seven against New Zealand. They needed to restrict the hosts to 174 or less on the basis of run rate to progress.
A 93-run third-wicket partnership in 54 balls between Dawid Malan and captain Eoin Morgan negotiated an awkward period after the dismissal of openers Jason Roy and Alex Hales in the space of five balls. England were 24 for two in the fourth over at the start of the resurgence.
When Malan exited for 53 off 36 balls, his fourth half-century in five T20 international innings, New Zealand pounced between overs 13-16, shared by Colin de Grandhomme (two), Ish Sodhi and Tim Southee.
England produced a picket fence of 16 singles. That included a gate in the middle with the stumping of Jos Buttler as the Northern Districts' Tim Seifert-Sodhi combination struck.