Durban: Spinner Harbhajan Singh and pace spearhead Zaheer Khan plotted a dramatic South African collapse to give India a vital 74-run lead in a topsy-turvy second Test which seemed headed for a nail-biting finish on Monday.
After being dismissed for 205 in the first innings, the Indians turned the game on its head by bundling out the hosts for a paltry 131 in 37.2 overs with Harbhajan Singh (4-10) and Zaheer (3-36) being the chief wreckers.
The Indians found themselves in a mess in the second innings as they were struggling at 92 for four at close on an eventful second day which saw as many as 18 wickets fall. Virender Sehwag (32), Rahul Dravid (2) and Sachin Tendulkar (6) are among the batsmen dismissed.
VVS Laxman and Cheteshwar Pujara were batting on 23 and 10 respectively with the visitors having taken an overall lead of 166 runs with six second innings wickets intact in the must-win game.
It turned out to be a bizarre day at the Kingsmead as fortune fluctuated from one team to the other till the very end. With wickets tumbling like nine pins, India's first innings lead of 74 runs could play a big role.
With three full days left in the match, a result is certain.
Earlier, Dale Steyn (6-50) and Morne Morkel (2-68) took two wickets each in the morning as India, after resuming at the overnight score of 183 for six, lost their remaining four wickets for the addition of only 22 runs to the total in 10 overs.
Overnight batsmen Dhoni and Harbhajan struggled to counter the pace duo of Steyn and Morkel, who made batting extremely difficult for the Indians by generating considerable bounce from the strip.
Captain Dhoni and Harbhajan survived only the first four overs before Steyn ended the spinner's uncomfortable stay in the middle.
Harbhajan, who survived a chance in the second over of the day when Jacques Kallis dropped him at first slip off Morkel's bowling, looked extremely uneasy during his short stay at the wicket.
Desperate to go for big runs, Harbhajan slashed hard but a thick edge flied to AB De Villiers who grabbed it by diving to his right to send him back for 21.
With India reeling at 193 for six, Dhoni adopted an aggressive approach and hit Steyn for a consecutive four and a six to ease the pressure to some extent and take India's score past 200-run mark.
But his aggression was short lived as Steyn in his very next over got rid of the Indian captain or 35, being caught at deep point by Alviro Petersen. Morkel then took little time to end India's innings, scalping the last man Sreesanth.
South Africa started positively but soon lost captain Graeme Smith (9) as he fell victim to Zaheer, Dhoni taking a smart catch behind the wicket.
Alviro Petersen and Hashim Amla hit a flurry of strokes but Zaheer, the lone Indian bowler maintaining a good line and length, once again came to his team's rescue by claiming the wicket of Petersen.
It turned out to be a stunning post-lunch session with the South Africans losing six wickets for just 57 runs.
But when play resumed after lunch, Ishant Sharma and Sreesanth were guilty of bowling a number of no-balls and erred in line and length also, allowing the two South African batsmen Hashim Amla and Ashwell Prince to get their eye in.
Prince, who appeared a trifle tentative early in his innings, unleashed his first attacking shot by hooking a short-pitched ball by Sreesanth to the square leg boundary.
With Ishant and Sreesanth proving to be quite ineffective after the lunch break, Dhoni introduced Harbhajan into the attack in the 24th over. And the complexion of the game changed from there on.
Harbhajan struck in his second over by getting rid of the in-form Amla, trapping him leg before wicket much to the delight of his teammates.
Amla failed to read Harbhajan's 'doosra' as he attempted to sweep but the ball held the line and hit him on the pad, reducing the hosts to a precarious 96 for five.
Zaheer put the South Africans in more trouble by accounting for Prince who dragged the ball onto his stumps.
Harbhajan struck again for his team with another straighter one which saw Steyn playing for the offbreak and only succeeded in edging the ball to Rahul Dravid at first slip who latched on for his 200th Test catch.
Brief scores
India 205 (Steyn 6-50) and 92 for 4
South Africa 131 (Harbhajan 4-10, Zaheer 3-36)
Status India lead by by 166 runs