Tri Nations/ South Africa 21 New Zealand 20: All Blacks coach Graham Henry said South Africa had shown the greater desire in edging to a 21-20 Tri-Nations win in Rustenburg on Saturday.
A 76th-minute penalty by outhalf Andre Pretorius handed the Springboks their first win in this season's tournament and ended New Zealand's long winning run.
"We've had a great year and we wanted to finish with a clean slate, but the Springboks had greater desire than us," said Henry. "We've won 15 on the trot, so it's a long time since we lost. Having already won the tournament, the clean sweep maybe wasn't enough to get us up. We were not at our best."
Springbok coach Jake White described the victory as one of the biggest of his tenure in charge.
"It probably keeps the wolves from my door for a week. It's a tough job, but what greater way to turn things around than with a win against the All Blacks."
A tight, physical encounter produced two tries apiece, with Pretorius clinching South Africa's first victory in this season's Tri-Nations with an angled penalty with four minutes remaining.
The All Blacks lacked the attacking spark that took them to a comprehensive 45-26 victory last weekend in Pretoria.
New Zealand outhalf Dan Carter gave his team a 20-18 lead in the 65th minute with a touchline conversion after his grubber kick had set up a try by wing Joe Rokocoko.
Carter also kicked two conversions and two penalties, as well as scoring a try in the first half, but the All Blacks, already crowned Tri-Nations champions after winning five of their six matches, looked a weary team.
Alert winger Bryan Habana pounced on an intercept to score the Springboks' first try, with number eight Pedrie Wannenburg benefiting from a break by loose forward Pierre Spies to score in the second half and Pretorius kicked a conversion and three penalties.
Pretorius got the home side off to a good start with an early penalty but Carter replied with a penalty for New Zealand.
Pretorius regained the lead with his second penalty before Chris Jack and Jerry Collins combined to set up Carter for the All Blacks' first try.
The outhalf's conversion gave the All Blacks a 10-6 lead but Habana's try converted by Pretorius edged South Africa in front. However Carter added a long-range penalty after the half-time hooter to level at 13-13.
Scorers: South Africa: Tries: Bryan Habana (22), Pedrie Wannenburg (55). Conversion: Andre Pretorius (23). Penalties: Pretorius (7,16,78). New Zealand: Tries: Daniel Carter (20), Joe Rokocoko (66). Conversions: Carter (21,67). Penalties: Carter (9,40). Half Time: 13-13.
SOUTH AFRICA: du Randt, Smit, Botha, Muller, Matfield, Wannenberg, Spies, Venter, du Preez, Pretorius, Habana, de Villiers, Olivier, Ndungane, Fourie. Replacements: Ralepelle, Sephaka, van den Berg, Pienaar, James, Paulse, Cronje.
NEW ZEALAND: Woodcock, Hore, Hayman, Jack, Williams, Collins, McCaw, So'oialo, Cowan, Carter, Sivivatu, Mauger, Muliaina, Rokocoko, Howlett. Replacements: Oliver, Tialata, Eaton, Holah, Kelleher, McAlister, Gear.