Second Test, Kolkata, day five (close):
India 643-6 dec beat South Africa 296 & 290 by an innings & 57 runs
Harbhajan (left) wheels away in celebration after taking the final wicket
India beat South Africa by an innings and 58 runs in the second Test in Kolkata to level the two-match series.
The visitors began the day on 115-3 and faced an uphill task to save the match after their first-innings collapse.
Batsman Hashim Amla worked superbly to frustrate India with his second century of the match, finishing on 123 not out.
Despite regularly losing partners, Amla nearly shepherded the Proteas towards a draw before Harbhajan Singh (5-59) trapped last man Morne Morkel lbw.
The win means India retain their place ahead of South Africa at the top of the Test world rankings.
Having already lost over a day to rain and bad light, India suffered another blow before play resumed as strike bowler Zaheer Khan was forced to sit out the day with a leg muscle strain suffered during play on Thursday.
Captain Mahendra Dhoni opened with part-time spinner Virender Sehwag and paceman Ishant Sharma, but shuffled his bowlers around and soon had spinners operating from both ends.
Harbhajan and leg-spinner Amit Mishra were thwarted for more than an hour in an extended morning session by Amla and Ashwell Prince (23).
Amla, on 49 overnight, went past the half-century mark and managed a 47-run stand with Prince before the latter was dismissed by Harbhajan.
Mishra then claimed his third scalp, trapping AB de Villiers cheaply and the Proteas went into the lunch interval still 183 runs behind, but with only five wickets in hand.
India renewed their push for victory in the afternoon with vigour and Harbhajan claimed JP Duminy's scalp near the start of the session.
Duminy (six) rocked back to defend a delivery that was pushed slightly quicker through the air, misjudged the line completely and was hit on the back pad right in front.
South Africa were still 175 behind at that stage and Amla - the last recognised batsman - was left waging a lone battle with the tail.
Dale Steyn hardly troubled the Indians as he went quickly, leg before to Harbhajan who had shifted his line of attack from over to around the wicket.
Wayne Parnell (22) stalled India's attack but was let off on 14 when substitute Suresh Raina, on the field for the injured Gautam Gambhir, dropped a catch at fourth slip.
HIGHEST TEST SERIES AVERAGE
563 - WR Hammond
(Eng v NZ 1932/33)
490 - HM Amla
(SA v Ind 2009/10)
432 - R Dravid
(Ind v Zim 2000/01)
428 - KC Sangakkara
(SL v Ban 2007)
427 - DJ Cullinan
(SA v NZ 1998/99)
Amla had moved into the 90s with consecutive boundaries off Sharma and claimed his ninth Test century and third of the series with another off Mishra, who had shared the second new ball.
Parnell, however, was removed in the fourth over after the tea interval, ending a stubborn eighth-wicket stand that had yielded 70.
Paul Harris (four) hung around for a while, negotiating 24 deliveries, but his resistance too was ended by Sharma, as he perished to an edge.
Morkel then joined Amla and India were put under severe pressure as the last pair stood firm, even with the introduction of Sachin Tendulkar's part-time leg-spin.
But with just over 15 minutes of play remaining, Harbhajan eventually trapped Morkel in front, sparking wild celebrations in the Eden Gardens stands and on the pitch.
Amla was named man of the match, though, for his heroics after finishing the series with an average of 490 - the second highest series average, behind Wally Hammond, in the history of Test cricket.
India captain Mahendra Singh Dhoni revealed his team had won on the strength of their batting.
He said: "It was important to score big in the first innings because the wicket wasn't a big turner.
Amla's heroics were not enough to prevent the innings defeat
"The batsmen responded well, four of us got centuries and the bowlers were great.
"We would have been very disappointed had we not won this game.
"We were 1-0 down in the series and we always want and are expected to win when we play at home.
South Africa captain Graeme Smith admitted the collapse in the first innings had left his team chasing the game.
"It would have been terrific had we pulled it off," Smith said. "Just a couple of Tests ago we had England holding out twice after being nine down, but credit should go to Dhoni and his team.
"We needed to be precise, but we let ourselves down in the first innings with the bat."
Smith, however, praised the effort of his players and in particular Amla.
He said: "Amla has been outstanding throughout the series, he has been the glue in our line-up and he deserves all the accolades that comes his way.
"He's been through some tough times and he is now really making it count and is now getting to be an integral part of our team and a great joy to have."