New Zealand have beaten South Africa with a ball to spare to qualify for their first Cricket World Cup final.
A six off the second-to-last ball of the semi-final from man of the match Grant Elliott sealed an amazing win for the Black Caps.
Set 298 to win, the Black Caps needed 12 runs off the final over with four wickets in hand, and that became five runs to win off two balls when Elliott then hit Dale Steyne.
Batting first, South Africa made 281 for five in 43 overs after their innings was curtailed by rain.
The Black Caps were set the revised target of 298 to win, under the Duckworth Lewis method.
Skipper Brendon McCullum bludgeoned 59 off 26 balls as the Black Caps reached 71 for one in six overs.
The momentum slowed after his departure as the Black Caps fell to 149 for four.
But Corey Anderson with 57 and Elliott combined for a 103-run fifth wicket stand to bring the hosts within touching distance of a win.
Elliott kept his cool as he combined with Luke Ronchi and then Dan Vettori to guide the side into New Zealand cricket history, as the all-rounder sent Proteas pace bowler Dale Steyn over the long-on boundary for six.
Elliot then raised his arms in triumph as the South Africans crumpled to the Eden Park pitch.
New Zealand will contest the final in Melbourne on Sunday - the South Africans were left disconsolate and on their way home.
New Zealand will now play the winner of the second semi-final between Australia and India in the final at the Melbourne Cricket Ground on Sunday.
LIVE Tweets from @RNZ Sport by Alex Coogan-ReevesTweets