Sachin Tendulkar's magnificent century and Harbhajan Singh's twin strike late in the day helped India finish Day 3 in the third Test against South Africa on a high, at Newlands, in Cape Town, on Tuesday.
At close, South Africa were 52 for 2 from 16 overs in their second innings, with Alviro Petersen unbeaten on 22 from 38 balls and Hashim Amla yet to open his account.
Harbhajan did the damage towards the closing stages, as he took two for four in three overs, trapping Graeme Smith (29) and Paul Harris (0) leg before wicket.
Earlier, Dale Steyn claimed five wickets but Tendulkar's magnificent century -- his 51st -- helped India post 364 for a slender first-innings lead of two runs.
Tendulkar single-handedly kept India in the hunt as he scored 146, hitting 17 fours and two sixes in his 314-ball, 465-minute stay at the crease, before being bowled by Morne Morkel.
His duel with Steyn was the highlight of the match, which is now evenly poised after the first innings.
Steyn was lethal as he claimed five for 75 in 31 overs, most of the Indian batsmen unable to come to grips with his pace and movement.
The Indian tailenders made useful contributions, as the last four wickets added 117 runs. Harbhajan played a useful innings of 40 from 67 balls, hitting two fours and two sixes, while Zaheer Khan slammed a quickfire 23 from 22 balls.
Gautam Gambhir missed out on a century as he was caught behind by wicketkeeper Mark Boucher off Paul Harris for 93, laced with 13 fours in 222 deliveries. The left-hander, who was dropped thrice, gave India a solid foundation as he put on 182 runs in 363 balls for the third wicket with Tendulkar.
On Monday, Jacques Kallis's 39th Test century lifted South Africa to 362. At the end of the second day's play, India were 142 for two in 50 overs in their first innings, still trailing the hosts by 220 runs.
It was Kallis's second century of the series as he stroked 161 from 291 balls to take South Africa to a healthy 362 in their first innings. The veteran batsman was the final wicket to fall; he was caught behind off Zaheer Khan, who claimed three for 89 in 29.5 overs.
S Sreesanth shone with the ball for India, claiming five for 114 in 29 overs, to trigger a lower order collapse, but Kallis frustrated the Indians as he added 52 runs for the final wicket with Lonwabo Tsotsobe (8).
Kallis, with 39 centuries, joined Ricky Ponting in second place in the list of most century scorers in Test cricket, which is led by Sachin Tendulkar, with 50 centuries.
On Sunday, Day 1, Kallis and Hashim Amla hit half-centuries to take their team to 232 for four in 74 overs after they were sent into bat on a rain-hit first day when 16 overs were lost because of rain and bad light.
The three-match series is locked 1-1.
Morning session: (32 overs, 95 runs, 2 wickets)
It turned out to be a see-saw session with neither team able to gain the upperhand. While South Africa kept themselves in the hunt with two wickets, Tendulkar kept his legion of fans interested as he inched closer to another century.
There was drama at the start of day three. Tendulkar seemed to have got a thin outside edge against Steyn off the second delivery of the day, but umpire Steve Davies was unmoved.
Off the next ball, he got another thick edge but this time it went through gully and fetched him two runs which enabled him complete his fifty from 109 balls. The master batsman then showed his class two deliveries later when he slammed a full delivery from Steyn through the covers for a cracking boundary.
Gambhir also survived a close call when his inside-edge flew past wicketkeeper Mark Boucher and gave him his first boundary of the day.
Tendulkar seemed desperate to step up the tempo and despatched two short deliveries from Lonwabo Tsotsobe through midwicket and point respectively.
Gambhir also bagged a couple of boundaries, hitting Morkel and Tsotsobe through the gully region in successive overs. Tendulkar then stamped his authority as he drove Tsotsobe down the ground for a splendid boundary, his 10th of the innings.
Harris, meanwhile, started to trouble Gambhir outside the off-stump as he pitched on the rough and got a fair bit of purchase. The Indian opener got his third lifeline when he was dropped by Boucher, as Harris once again got one to turn and bounce sharply and take the edge.
However, Harris had his man off the very next delivery as Gambhir got the outside edge and was caught behind. The left-hander was unlucky to miss out on a hundred as he fell for 93, which included 13 boundaries, off 222 balls.
He put India on a solid platform as he put on 182 runs in 363 balls for the third wicket with Tendulkar during his 268-minute stay at the crease.
Tendulkar was content to defend for most part of his innings, but on one occasion swept Harris through square leg for another four. In the spinner's next over, Laxman played his trademark wrist flick to hit a four through the midwicket region.
He then pulled a short ball from part-timer Petersen through square leg for his third four of the innings.
But Laxman's stay at the crease was cut short courtesy a streaky run-out. Tendulkar chipped one back to the bowler, Harris, who dropped it but ended up deflecting it to back on to the stumps, catching Laxman (15) short of his crease.
Immediately, South Africa took the second new ball after 80 overs, with India 235 for four.
At lunch, India were 237 for four in 82 overs, still trailing the hosts by 125 runs. Tendulkar was on 94 from 208 balls and Pujara on 2.
Steyn was exceptional with the ball but unlucky not to have picked up a wicket as he went into the break with one for 42 in 19 overs.Post-lunch session: (25 overs, 79 runs, 2 wickets)
Another thrilling session followed as Steyn rocked India with two wickets with the second new ball, but Tendulkar stood firm again.
Steyn struck immediately after the break, getting the wicket of Pujara, for two. The South African pacer bowled an unplayable delivery that seamed a long way and caught Pujara plumb in front of the stumps.
Tendulkar completed his century (51st) in the next over, off 213 balls, when he pulled a short delivery from Morkel but got a top edge that flew over the slips for a six behind the wickets. The next shot was more convincing as Tendulkar drove a full delivery through the point region for a cracking boundary.
Steyn was unstoppable after lunch and batting against him seemed impossible. Once again he used the swing to good effect as Mahendra Singh Dhoni tried to drive the outswinger but could only edge it and was taken at third slip for a duck.
That also saw Steyn complete 50 wickets against India in just 10 Tests and he looked good for more as he was getting the ball to move at will and had the Indian tail at his disposal.
Again the new ball was doing the trick as South Africa managed to claim two quick wickets, but Tendulkar was too hard to dislodge.
Harbhajan Singh tried to attack right from the start and pulled a short delivery from Morkel through mid-on for a four. In the next over he had a huge slice of luck when a ball from Steyn brushed the off-stump but the bails didn't move at all, much to the dismay of the fielders and local fans.
Tendulkar then played the uppercut against Tsotsobe for a four, while Harbhajan pulled the same bowler for a huge six over square leg.
Steyn bowled a superb spell of two for three in five overs to cause the Indians some worry, but Tendulkar proved to be the difference.
Morkel came on for a new spell and Tendulkar welcomed him by driving straight down the ground for a four. In the same over, the lanky pacer thought he had trapped Harbhajan leg before wicket but, again, the decision was ruled in favour of the batsman.
With the ball having lost its shine, Steyn failed to make the same impact in his second spell. Harbhajan glanced him fine through the leg side for a boundary as the pacer drifted on the pads as India continued to build their total steadily.
Harbhajan showed the pacer scant respect in his next over as he played a splendid lofted shot over mid-on for a huge six, his second of the match, to bring up his 2000 runs in Tests.
At tea, India were 316 for six in 107 runs, trailing the hosts by 46 runs.
Tendulkar was batting on a splendid 136 from 295 balls, while Harbhajan hit 34 from 54 balls as the duo put on 69 runs in 22.3 overs for the seventh wicket.
Post-tea session: (98 runs, 26.1 overs, 6 wickets)
India's tail managed to wag and contribute important runs in the company of Tendulkar, who completed yet another splendid century.
Harbhajan got the first boundary of the session when he drove Harris through the point region for a four.
But Steyn cut short his stay when he got his wicket with a bouncer, for 40. Harbhajan took on the short delivery from Steyn but failed to get it off the middle and was caught on the square leg boundary. The right-hander had played his part to perfection as he hit three fours and two sixes, during his 76-run partnership off 154 balls for the seventh wicket with Tendulkar.
Zaheer was again struck on the helmet off the first ball he faced from Steyn, just like in the previous match. But Zaheer had something to smile about when he cut the final delivery of that over through point region for a four.
In the next over, Tendulkar chipped down the wicket to Harris and lofted him down the ground for his second six.
Tendulkar's splendid innings finally came to an end when he was bowled by Morkel. The master batsman played one of his best innings as he scored 146 from 314 balls, having hit 17 fours and two sixes, to keep India in the hunt on a difficult pitch for the batsmen.
Zaheer continued to chance his arm and he played a powerful cut shot against Steyn for a six over point.
In the same over, Steyn bowled a fast bouncer at Ishant's body which he lobbed high in the air and was caught by Boucher for one.
Zaheer seemed intent on attack and even Steyn was not spared as he lofted the pacer over the long-on fielder for this second six to give India the lead.
However, Morkel claimed Zaheer's wicket in the next over, after the batsman had scored a quick 23 from 22 balls, to end the Indian innings.
The visitors were bowled out for 364 in 117.1 overs, having taken a slender lead of two runs.
The Indian tailenders made useful contributions with the bat as the last four wickets added 117 runs. Harbhajan played a useful innings of 40 from 67 balls, having hit two fours and two sixes, while Zaheer Khan slammed a quickfire 23 from 22 balls.
Steyn once again showed his prowess with the ball as he claimed five for 75 in 31 overs, while Morkel claimed two for 106.
Tendulkar was the difference between the two sides and it was his splendid century that kept India in the hunt as the rest of the batsmen struggled against Steyn.
(South Africa 2nd innings)
Smith and Petersen were extra cautious against the new ball, knowing that once they see off the early overs batting would be easier.
Smith got the first boundary of the innings when he drove Zaheer down the ground, in the fifth over. The left-hander then pulled Zaheer through midwicket for another four, in his next over.
Meanwhile, Sreesanth had some problems with the crowd and the Indian team had a chat with the umpires before the matter was sorted out.
Petersen hit his first boundary off the 24th ball he faced when he played a cracking drive down the ground, off Sreesanth in the tenth over.
South Africa were off to a positive start as they reached 45 for no loss in ten overs, with Smith on 27 (35 balls) and Petersen on 17 (26 balls).
With the pacers unable to make the new ball count, it was Harbhajan who delivered with two quick wickets.
Smith was the first wicket to fall when he was trapped leg before wicket for 29 as he tried to play across the line.
In his next over, Harbhajan claimed the wicket of nightwatchman Paul Harris, who offered no shot to a full delivery and was judged leg before wicket for a duck.
At close, South Africa were 52 for two in 16 overs in their second essay, with Petersen unbeaten on 22 (38 balls) and Hashim Amla yet to score.
Harbhajan lifted India with those two late wickets after the pacers had failed to strike with the new ball on a dramatic day three.