After a dream spell by S Sreesanth helped snatch the advantage, India's batsmen stretched the lead to 311 runs to raise hopes of a maiden Indian victory in South Africa, at the end of the second day of the first Test, in Johannesburg, on Saturday.
VVS Laxman, with an unbeaten 42, steadied the second innings as India ended the day on 146 for five in 35 overs.
Sreesanth bagged his first five-wicket haul as India bundled out South Africa for 84 in the first innings. His effort of 5 for 40 was just the dose of energy the team needed to pick itself up on the disappointing tour. Sreesanth was brilliatnly supported by Zaheer Khan, who finished with two wickets for 32 runs.
Earleir, Sourav Ganguly signalled his return to international cricket with an unbeaten half-century and rallied the team to 249 even as the Indian lower order collapsed without a fight after resuming on 156 for five on the second morning.
Shaun Pollock crossed the milestone of 400 Test wickets with the scalp of India's captain Rahul Dravid. Pollock and Andre Nel took two wickets each in India's second innings.
Morning session
The Indian batsmen had an edgy start in the morning with Kallis hitting the right length straightaway and Nel nailing them with pace and bounce.
But it was still Shaun Pollock who gave the hosts their moment of the morning.
The veteran player showed amazing commitment, diving full length and plucking the ball with his left hand to complete a catch to send Mahendra Singh Dhoni, who failed to keep the drive off Makhaya Ntini down, back to the pavilion for five.
Ganguly, who had faced the South African pace battery staunchly on Friday, once again survived the opening spell from Nel and Ntini in overcast conditions. Though Nel lacked consistency, coming round the wicket to Ganguly, he made the ball move both ways and posed ample problems.
The left-hander, however, shrugged off the close calls and went after the loose deliveries. He picked up Ntini from good length with minimal foot movement and sent the ball into the stands for India's first six of the innings.
Anil Kumble tried to battle it out in the middle, but the relentless South African bowling got the better of him. After surviving a difficult dropped chance by Herschelle Gibbs in the slips, Kumble once again left his bat hanging to Nel. He couldn't get it out of the way as the ball shaped in and took a thick edge to Jacques Kallis at second slip.
Ganguly guided India past 200, but there wasn't much to the lower order.
Zaheer (9) was trapped leg before wicket by Pollock as he went down on one knee in an attempt to sweep. He missed the ball completely and it hit him full on middle and leg stump. Sreesanth followed two balls later for no score.
VRV then breathed some excitement into the dreary morning. The young Punjab lad threw his bat around, stood outside the leg stump and, with exaggerated foot movement, added some vital runs on the board. He lived dangerously, and his edges seemed to inevitably land between fielders.
The 22-year-old's antics left the bowlers bemused, and Graeme Smith was forced to spread his field for the first time in the Indian innings. He motored along to 29 from 19 balls, inclusive of six fours, to add a positive footnote to the Indian effort.
Meanwhile, Ganguly carved out a well-deserved half-century. The 33-year-old worked the ball to the leg-side for a single to bring up his 26th Test fifty. He was unbeaten on 51 from 101 balls when Pollock finally brought VRV's adventure to an end.
Ganguly and VRV slammed 44 runs in 5.5 overs for the last wicket to swell the Indian total to 249.
South Africa innings
India's new-ball bowlers gave the team a rousing start, snapping the South African openers inside three overs.
Sreesanth set the ball rolling with the wicket of skipper Smith. Pitching the ball just short of length, Sreesanth got the ball to move in and strike the pads and trap Smith leg before wicket.
With the pitch juicing up under an overcast sky, Sreesanth and Zaheer got the new ball to swing and, more importantly, forced the batsmen into false shots. The Indian bowlers, who had got early wickets even in the One-day series, used the conditions better than the home bowlers to raise India's hopes of a great comeback.
Zaheer had Herschelle Gibbs flashing at slightly wide delivery, and Sehwag taking the catch at gully, while Sreesanth lured Amla into a drive, the edge carrying to Laxman in the slips.
India were denied a huge scalp, when umpire Daryl Harper turned down a confident shout for lbw against Kallis. Zaheer got the ball to straighten from middle and off and hit the back leg plumb in front of the stumps, but the umpire ruled in favour of the batsman.
As if rubbing insult to injury, Kallis followed it up with two elegant drives for four.
Kallis and Ashwell Prince were unbeaten on 12 and one respectively at lunch, as South Africa recovered from five for three to 21 for three.
Post-lunch session
South Africa had no answer to Sreesanth's precision as he ran through their batting line-up.
Bowling with an upright seam, the Kerala bowler had Kallis on the third ball after lunch to send alarm bells ringing in the opposition camp. He drew Kallis forward and the ball clipped the shoulder of the bat before Laxman took a low catch at second slip.
The Indian bowled with infectious enthusiasm, and went on to take his first five-wicket haul in Tests. Sreesanth bowled Mark Boucher and had Pollock leg before wicket to reduce South Africa to 45 for seven.
Prince and Nel tried to stem the rot with a partnership of 39 runs. Prince looked to plug one end while Nel tried to muscle out of the situation with some meaty blows. Even with his team precariously placed, Nel went for his shots like it were the slog overs in a one-day game.
Sreesanth, flying high after his sensational opening burst, was nonchalantly taken for a four and six off successive deliveries.
If Nel can be irritating with his incessant smirks while bowling, he was cheekier with the helmet on. The bowler provided the needle, even sticking out his tongue to Sreesanth and challenging the bowler to have a go at him.
The stand between Prince and Nel was the only spark for the hosts, but Kumble extinguished it as soon as he was brought into the attack.
India, who have often let oppositions off the hook after getting early wickets, never let South Africa ease into the game. With the Indian pacers tiring out and VRV, playing only his third Test, not being able to keep a lid on the scoring, Rahul Dravid called India's biggest match winner -- Anil Kumble into the attack.
The pitch had already manifested the uneven bounce, and Kumble scalped Prince with a googly in his second over. Prince, playing for the spin, closed the face of the bat and ended up edging the ball to the wicketkeeper.
Kumble trapped Ntini in front of the wickets with a flatter, faster next delivery.
The last three South African wickets fell without adding to the score as VRV got the last man Nel, caught by Zaheer past mid-off for 21.
Post-Tea session
India's middle-order again came to the rescue after South Africa picked up a few early wickets.
Opener Wasim Jaffer again failed to get among the runs, as he edged Nel into the slips. India's captain Dravid followed three overs later in a similar fashion off Pollock.
Though South Africa got the early wickets, the length employed by Nel and Ntini with the new ball still left the team searching for answers after a shocking batting performance. The bowlers went for too much and overdid the short ball.
Sehwag, who employed the upper cut to great effect, was racing at more than run a ball before Nel clipped his flight. Sehwag opened the face of the bat and ran the ball straight into the hands of Gibbs at slips.
It was left to the big three -- Sachin Tendulkar, Laxman and Ganguly to guide India from thereon.
Tendulkar, after getting the start, again gave away his wicket, chopping a delivery from Pollock onto the stumps.
Ganguly, having scored the only fifty of the match so far, once again applied himself well. On a pitch that claimed 19 wickets in a day, Laxman and Ganguly combined well to thwart the South African attack. Their partnership was characterized by free-flowing drives and the pitch suddenly seemed to change complexion as the batsmen started calling the shots.
The two were involved in a 58-run partnership that sagged the spirit of the South Africans.
Though Ganguly was out, flirting with a widish delivery from Ntini for 25, Laxman carried on unruffled.
Laxman was unbeaten on 42 off 85 balls, inclusive of eight fours, and Dhoni had slammed thee fours already to race to 17 from 18 balls when stumps were drawn.