New Zealand started as favourites but failed to assert their early dominance and England took an 8-0 lead through Sean OLoughlin and kicks from Kevin Sinfield but the Kiwis levelled through Roger Tuivasa-Shecks try and goals from Shaun Johnson.
New Zealand scored the opening try of the second half through Tuivasa-Sheck before England regained their lead with tries from Kallum Watkins and Sam Burgess, however with the last play of the game, Johnson broke through the England defence to make it 18-18 before converting his own try to win the game.
The Kiwis tested Englands line twice early on, first as Issac Luke chased his own grubber kick before Tomkins kicked the ball dead, and shortly after as Josh Charnley and Watkins forced Jason Nightingale into touch.
Jared Waerea-Hargreaves was fortunate to avoid being put on report for a swinging arm to a prone Sam Burgess, giving England their first opportunity to test the Kiwis defence.
England did make a push towards the line, but after Charnley palmed the ball back into play, Bryson Goodwin broke away; the centre only denied a try by excellent defending from Ryan Hall.
Soonafter, OLoughlin scored the opening try of the game as the New Zealand defence failed to bring down Sam Burgess, who offloaded to the Wigan Warriors loose forward before Sinfield added the conversion.
England showed no signs of resting on their laurels and continued to apply pressure to the New Zealand line, with James Roby forcing a goal-line drop out which quickly led to an England penalty. Sinfield opted to kick for goal, increasing the lead to eight points.
New Zealand hit back after half an hour, when Dean Whare found Tuivasa-Sheck with a brilliant offload, before Johnson kicked the conversion.
The scrum-half then made it 8-8 with a penalty of his own, sending the sides in level at half time.
New Zealand were quick out of the blocks in the second half, Halls missed an interception opportunity allowed Tuivasa-Sheck to score his second try of the game.
As Tomkins waited underneath a high ball, Gareth Widdop was penalised for obstruction, to give New Zealand another penalty in front of the posts, which Johnson opted to kick, giving the Kiwis a six-point lead.
But England started to gather momentum, and a fresh set of six was enough to close the gap. Sinfield found Leeds Rhinos team mate Watkins who went over, with Sinfield unable to level the scores with his conversion attempt.
After an extended period of possession, England were rewarded with another try, as man of the match Sam Burgess powered over the line to restore the home sides lead with 15 minutes left on the clock.
New Zealand were just seconds away from losing their world cup crown when a high tackle gave then a good attacking platform and Johnson made the most of it, jinking through the England defence, before converting his own try to see them through to the final.
1 Kevin Locke
2 Roger Tuivasa-Sheck
3 Dean Whare
4 Bryson Goodwin
5 Jason Nightingale
6 Kieran Foran
7 Shaun Johnson
8 Jared Waerea-Hargreaves
9 Issac Luke
10 Jesse Bromwich
13 Simon Mannering
12 Sonny Bill Williams
17 Elijah Taylor
14 Frank-Paul Nuuausala
15 Sam Kasiano
16 Ben Matulino
19 Alex Glenn
1 Sam Tomkins
2 Josh Charnley
3 Kallum Watkins
4 Leroy Cudjoe
5 Ryan Hall
6 Gareth Widdop
7 Kevin Sinfield
8 James Graham
9 James Roby
10 Sam Burgess
11 Brett Ferres
12 Ben Westwood
13 Sean OLoughlin
14 Rob Burrow
15 George Burgess
16 Chris Hill
17 Carl Ablett
Referee: Ben Cummins (Australia)
New Zealand 20 Tries: Tuivasa-Sheck 2, Johnson; Goals: Johnson 4
England 18 Tries: OLoughlin, Watkins, S Burgess; Goals: Sinfield 3