Makhaya Ntini inspired South Africa to level the series against India by wrapping up a comprehensive 174-run win at Kingsmead.
The paceman ripped through the top order to claim the first five wickets, then Andre Nel and Andrew Hall wrapped up victory after tea on the last day as India, who were chasing 354 to win the three-match series, were all out for 179.
With the tourists on 38 for 2 overnight, Ntini struck two early blows. Sachin Tendulkar went for a duck when he was trapped lbw, and then Wasim Jaffer was caught by Nel.
Bad light temporarily halted proceedings, but when play resumed, Sourav Ganguly produced some rasping strokes. However, Ntini then claimed his fifth wicket as the left-hander only managed to fend a fine delivery into the hands of Herschelle Gibbs for 26.
Almost as soon as Dhoni arrived at the crease, he needed treatment on a finger injury after a ball from Ntini reared up from just short of a length. The pace of Nel accounted for VVS Laxman, bowled by a ball that kept low, to leave India on 85 for 6.
The bustling Hall lured Anil Kumble into a rash shot with Hashim Amla taking the catch. Although Mahendra Singh Dhoni (47) and Zaheer Khan (21) rallied with a spirited stand of 59 for the eighth wicket, Khan eventually edged Nel to the keeper Mark Boucher.
Sree Sreesanth fell in the same fashion to Ntini, who returned 5 for 48. Nel also picked up 3 for 57 while Hall claimed 2 for 26.
The South African captain, Graeme Smith, said afterwards that his team had been feeding off the criticism they received after the First Test. "The adrenaline was pumping a bit, and it got a bit fiery at the end," he said. "We had a few right criticisms of the team after the First Test. But some of them were unjust, and I am proud of the guys."
The final Test of the three-match series begins at Cape Town on 2 January.Reuse content