The All Blacks were trailing 17-3 early in the second half and got within four points before the Springboks sealed victory when Jaque Fourie went over eight minutes from time.
The Springboks claimed tries by center Jaque Fourie, captain John Smit, wing JP Pietersen, flanker Juan Smith and fly-half Butch James with Francois Steyn and Percy Montgomery each kicking penalties and the latter adding three conversions.
The 33-year-old -- who received a two year ban in 2003 for abusing a touch judge -- scored two tries amongst his points while star winger Bryan Habana grabbed four and Jaque Fourie and JP Pietersen one apiece.