James Franklin batted skillfully with the tail to secure a tense one-wicket upset win for New Zealand in the first one-day international against South Africa at Boland Park on Saturday.
Franklin hit 47 not out as the last three New Zealand wickets added 104 runs in a low-scoring match after South Africa had been bowled out for 208.
He put on 35 for the eighth wicket with Nathan McCullum (24) and 47 for the ninth wicket with Kyle Mills.
When Mills was bowled by Ryan McLaren for 26 there were still 22 runs needed but Franklin successfully farmed the strike before hitting McLaren through the covers for the winning boundary.
"It was incredibly satisfying to come up against the top side in the world, be under pressure and come through," said New Zealand captain Brendon McCullum.
Franklin, whose runs came off 61 balls, added: "We were trying to bat as deep as we could. We know these (lower order) guys are no mugs with the bat."
It was a heartening result for New Zealand at the start of the three-match series after they lost both Test matches by an innings.
"We came up against an incredible team in the Test matches but we know we can compete in the shorter forms of the game," added McCullum.
South Africa went into the match on top of the one-day rankings but lost their place to India, who beat previous number ones England in Ranchi earlier on Saturday.
"We were not at our best today," said South African captain AB de Villiers.
"We were probably at about 80 percent. New Zealand deserved to win."
McLaren seemed to have won the game for South Africa before Franklin's final flurry of strokes.
He had shared a crucial 59-run sixth wicket partnership with top scorer Faf du Plessis (57) as South Africa were bowled out for 208 after being sent in to bat.
Then McLaren took four for 46. He bowled BJ Watling for 45, trapped Jimmy Neesham two balls later for nought and then broke two late partnerships when he dismissed Nathan McCullum and Mills.
Left-arm opening bowler Mitchell McClenaghan took four for 20 on debut as New Zealand's bowlers exerted tight control.
McClenaghan took the key wickets of Graeme Smith and de Villiers and followed up with two late wickets.
Part-time off-spinner Kane Williamson took four for 22 as the South African batsmen failed to master some steady bowling on a slow pitch.
Du Plessis made a dogged 57 off 71 balls.
He hit only three boundaries in a South African innings which included only 12 fours and four sixes.
One of the fours and three of the sixes were hit by tailender Rory Kleinveldt, who hit his sixes off four balls from Mills in making all 26 runs in a last wicket stand with Lonwabo Tsotsobe.
Kleinveldt followed up with the wickets of Brendon McCullum and all-rounder Grant Elliott to cap a successful debut in 50-over internationals.
McCullum's decision to send South Africa in to bat paid dividends when the home side's three most experienced batsmen, Smith, Hashim Amla and captain de Villiers were dismissed within the first 12 overs.