South Africa put themselves in pole position for a second successive Tri-Nations title with an absorbing victory over New Zealand in Cape Town.
South Africa 22 (16)
Try: De Villiers
Pens: Montgomery 4
New Zealand 16 (13)
Pens: Carter 3
The Springboks' rush defence never let the All Blacks settle into their stride and a Jean de Villiers interception try helped the hosts build a 13-0 lead.
But two Daniel Carter penalties and Rico Gear's try helped the All Blacks claw back to 16-13 down at half-time.
Two more Percy Montgomery penalties proved enough though to secure victory.
The win sees the Springboks, who edged Australia by the same score a week ago, leap above the Wallabies to second in the world rankings.
It also preserved coach Jake White's unbeaten home record - now 10 wins and a draw - during his 18 months in charge.
The home side got off to a perfect start as Montgomery landed a well-struck penalty, and were 13-0 to the good after a ferocious opening 10 minutes.
Fly-half Andre Pretorius dropped a smart drop-goal after Bakkies Botha had disrupted an All Blacks line-out, before South Africa claimed an interception try.
A loose pass from Byron Kelleher after a break from the impressive Gear saw De Villiers snatch the loose ball and sprint 70m to the line, Montgomery adding the conversion.
But the All Blacks refused to be cowed and were level by the 27th minute.
Carter landed a penalty before the visitors conjured a superb try, huge cut-out passes from Aaron Mauger and Jerry Collins sending Gear over in the right corner.
Carter's conversion and a subsequent penalty made it 13-13, but the Springboks edged ahead again before the interval.
After Pretorius missed another drop-goal attempt and Montgomery failed with a penalty, the full-back was successful with his next effort after 37 minutes.
Gear almost created another try for the All Blacks on the resumption when he stepped inside two defenders only for his pass to fall to ground.
But the visitors were struggling to contain the Springboks in defence and Richie McCaw was twice penalised for ruck offences that Montgomery punished to make it 22-13.
South Africa's rush defence almost brought another try when Jaque Fourie picked up a loose pass from Keven Mealamu to touch down, but the centre was adjudged offside.
Pretorius missed two further drop-goal attempts as he tried to extend the Springboks' lead, and they were grateful to wing Bryan Habana for a try-saving tackle on Carter.
The All Blacks fly-half brought his side to within a converted try of victory with a fourth penalty seven minutes from time.
But the Springboks held on amid rapturous scenes at Newlands for their first win over New Zealand in Cape Town since 1976.
South Africa: Montgomery; Paulse, Fourie, De Villiers, Habana; Pretorius, Januarie; Du Randt, Smit (captain), Van der Linde; Botha, Matfield; Burger, Smith, Van Niekerk
Replacements: Shimange, Steenkamp, Van den Berg, Cronje, Du Preez, Julies, Van der Westhuyzen
New Zealand: MacDonald; Gear, Umaga (capt), Mauger, Muliaina; Carter, Kelleher; Woodcock, Mealamu, Hayman; Jack, Williams; Collins, McCaw, So'oialo.
Replacements: Witcombe, Somerville, Ryan, Holah, Weepu, McAlister, Rokocoko.
Referee: Andrew Cole (Australia)