Henry Davids hit his second successive half-century and Aaron Phangiso took crucial wickets as South Africa beat New Zealand by 33 runs in the series-deciding third and final Twenty20 international.
Davids struck 68 at St George's Park in a South African total of 179 for six and Phangiso dismissed New Zealand's big guns, Martin Guptill and captain Brendon McCullum, in successive overs, effectively ending the touring team's challenge.
New Zealand finished with 146 for nine.
"South Africa played a very good game," said McCullum. "There were some clutch moments and they stood up and applied some pressure. Against a good side, they expose you. We weren't quite at our best but throughout the series we've seen some improvements and we can take some heart out of the series."
The slightly-built Davids, who made his debut in the first match of the series, hit seven fours and two sixes in a 51-ball innings. A third wicket stand of 89 off 61 balls with Justin Ontong (48) enabled South Africa to overcome a poor start.
Left-arm seamer Mitchell McClenaghan was again the pick of the New Zealand bowlers, taking two for 24 off four overs.
McClenaghan, originally picked only for the Twenty20 series, will stay on to replace the injured Tim Southee in a two-match Test series starting in Cape Town on January 2.
Doug Bracewell also took two wickets, striking with the last two balls of the innings as David Miller (28) and Farhaan Behardien (22) perished in going for big shots after a fifth wicket stand of 44 off 23 balls.
Corey Anderson held four catches, three of them in the deep.
New Zealand lost Rob Nicol in the first over but briefly entertained hopes of victory as Guptill (24) and McCullum (25), the team's leading batsmen, put on 47 off 37 balls for the second wicket.
Guptill, who made a match-winning century in the second international in East London, hit left-arm spinner Phangiso's first ball for six but chipped a simple catch to midwicket off the last ball of the over.
McCullum followed in Phangiso's next over when he was caught at wide long-off.
Phangiso added the wicket of James Franklin to finish with three for 25 off four overs. Opening bowler Ryan McLaren also took three for 25.
Faf du Plessis, who captained South Africa for the first time during the series, said he believed his team had played consistently well.
"It's a young team and there's so much energy," he said.