The result left the All Blacks with their worst record in more than 40 years as they finished their Tri Nations campaign bottom of the table. The home side, staring defeat in the face and trailing 23-5 with just 14 minutes left on the clock, scored three tries including a last-minute touchdown to steal the game and preserve their unbeaten record in the competition.
The Springboks now play Australia, in Johannesburg on Saturday, with the winner of that match taking the Tri Nations title for the first time.
The 51st Test between the two traditional rivals was, as expected, a game of hard, fierce rugby full of expansive play.
New Zealand went in at half-time 17-5 up and it looked like over-confidence and unforced errors would lead to the Springboks' downfall.
The Springboks' normally watertight defence started to spring leaks as they allowed the All Blacks to score two tries. In comparison, the radically restructured New Zealand side was gelling much better than expected.
It was the mercurial scrum-half Joost van der Westhuizen who started the unlikely revival when he jinked his way over from a ruck 15 metres out, and, nine minutes from time, the replacement flanker Bobby Skinstad set up the finish with a try.
A late tackle by Jonah Lomu set up South Africa with an attacking line- out 10 metres from the line. The hooker James Dalton crashed over the line in injury time to record the win.
The All Blacks captain, Taine Randell, said: "It was unbelievable how we lost it. The Springboks played with a lot of fortitude, a lot of character."
South Africa: Tries Terblanche, Van der Westhuizen, Skinstad, Dalton; Conversions Montgomery 2.
New Zealand: Tries: Marshall, Randell; Conversions: Mehrtens 2; Penalties Mehrtens 3.
SOUTH AFRICA: Montgomery; Terblanche, Snyman (Smith, 64), Muller, Rossouw; Honiball, Van der Westhuizen; Kempson, Dalton, Garvey (Le Roux, 52), Otto (Skinstad, h-t), Andrews (Otto, 71), Erasmus (Aitken, 64), Venter, Teichmann (capt).
NEW ZEALAND: Cullen; Wilson, Clarke (Berryman, 63), Mark Meyerhofler, Jonah Lomu; Andrew Mehrtens, Justin Marshall; Royce Willis, Robin Brooke, Taine Randell, Carl Hoeft, Anton Oliver, Olo Brown, Josh Kronfeld, Isitolo Maka (Scott Robertson, 50)
l Argentina trounced the US Eagles 52-24 in a World Cup qualifying match on Saturday. Earlier, Canada defeated Uruguay 38-15 in the four-team event in Buenos Aires that will qualify one side for the 1999 World Cup in Wales.Reuse content