The Springboks dominated the opening half and had a healthy 14-3 lead thanks to Ruan Pienaar's try and penalty and two further kicks from Frans Steyn.
But New Zealand responded after the break with a try from Conrad Smith and three Stephen Donald penalties.
Jaque Fourie's late try sealed the win with Morne Steyn's three penalties also denying the All Blacks a bonus point
New Zealand opened their Tri-Nations campaign with a 22-16 victory over Australia last weekend while South Africa went into the game on the back of a 2-1 series victory over the British and Irish Lions.
And it was South Africa who impressed during the opening half but the hosts only had an 11-point lead to show for their dominance at the break.
The All Blacks struck first with an early penalty through Donald but South Africa's superiority in the loose soon started to tell and full-back Steyn levelled the score.
|Your name: *|
|Your email: *|
|Recepient's email: *|
|Enter code: *|