South Africa held off a late rally by New Zealand's tailenders to win the first one-day international by 20 runs.
South Africa bowled the Black Caps out for 284 in 48.1 overs to defend their 304-7 total at Supersport Park, after Hashim Amla earlier hit 124 in 126 balls for his 21st one-day century.
Seemingly out of it at 251-8, Mitchell McClenaghan hit a four and a big six to bring New Zealand within range, until he was bowled by Dale Steyn for 16.
Steyn ended McClenaghan's late attack, and effectively the game, with a full, fast delivery that broke the off stump in half.
Last man Ish Sodhi was run out next ball to confirm South Africa's victory and a 1-0 lead in the three-match series.