Kiwi coach Gordon Tietjens brought on All Black Hosea Gear in the second spell and the flying Highlander crossed for one try while Charles Piutau bagged the other.
Tomasi Cama had the chance to win the game in normal time but his late conversion drifted wide of the posts.
Both sides played on after the hooter but when England were caught short they hoofed the ball in to touch, which brought on the extra five-minute stanza.
Each team coughed up possession in extra-time before Halai danced his way through a couple of tackles and sprinted away to score, much to the delight of the fans.
New Zealand will meet Fiji in the final at 9.30pm.
New Zealand 17 (Charles Piutau, Hosea Gear, Frank Halai tries; Tomasi Cama con) England 12 (Greg Barden, Chris Cracknell tries; Christian Lewis-Pratt con) HT: 0-12