Irfan Pathan mesmerized the Zimbabweans with his swing to claim four wickets for 35 runs and leave the hosts tottering on 67 for 6 in the second innings, at close on day 3 of the first Test, at the Queens Sports Club in Bulawayo, on Thursday.
The left arm seamer was well-supported by new ball partner Zaheer Khan, who claimed one wicket for 17 runs, and Harbhajan Singh, who scalped Charles Coventry in the last over of the day.
Zimbabwe, who conceded a first innings lead of 275 runs, still need another 208 to make India bat again.
Coventry was Harbhajan's 200th Test victim. Playing his 46th Test, the off-spinner thus became the fastest Indian bowler to reach 200 wickets in Tests.
Earlier, Sourav Ganguly scored a century as India were bowled out for 554. India's captain registered his 12th Test hundred off 261 balls, inclusive of nine boundaries, as India crawled past the 500-run mark. Ganguly also brought up 5000 runs in Test cricket in the course of his innings.
Morning Session: (24 overs, 71 runs, 3 wickets)
At the start of day three, India were hoping for some quick runs from their batsmen after dominating the second day. With Laxman and Ganguly having spent some time at the wicket it was only a matter of time before they started taking risks and increasing the rate.
But things turned out quite the opposite for the visitors as the Zimbabwe bowlers bowled to a plan, not only restricting the runs, but also chipping away at the wickets.
Overnight batsman and centurion Laxman was the first wicket to fall, when he was run out after a misunderstanding with Ganguly. Both batsmen are known for not being the best runners among the wickets and that weakness came to the fore again. Laxman pushed a delivery to mid-on and called for a single, but Ganguly did not respond until the right-hander was halfway down the wicket, leaving him no chance to make his crease. (356-4, 92.4)
Laxman played a delightful innings of 140 and put on 128 runs for the fourth wicket with Ganguly.
Ganguly had been having a rough time with the bat lately, but he made sure he did not let go of this opportunity of batting on a flat wicket. He brought up his 26th half-century in Tests and soon after when his score reached 51, raised his 5000 runs in the longer version of the game.
There were some question marks over Yuvraj Singh's selection for the first Test, ahead of Mohammad Kaif because of the latter's good form with the bat. However, it did not affect Yuvraj, who started brilliantly, hitting two boundaries, but then gave his wicket away as he tried to flick left-arm spinner Keith Dabengwa to the leg side and was bowled for 12. (372-5, 99.1)
Wiicketkeeper Dinesh Karthik also did not survive long, edging behind, only for Tatenda Taibu to complete a brilliant one-handed catch diving to his right. (379-6, 100.4)
Ganguly and Pathan then batted the rest of the overs without doing much damage to the scorecard and it was a session the Zimbabwe bowlers would have settled for.
At lunch, India were 396 for 6 in 106 overs, having added just 71 runs at a rate of less than three runs per over, quite surprising after dominating the previous day.
Ganguly was not out on a painstaking 52 off 146 balls while Pathan was unbeaten on 10.
Post-Lunch session: (36 overs, 95 runs, 1 wicket)
Pathan got off the session to a flying start, hitting two boundaries in two overs which seemed to have inspired Ganguly, who charged left-arm spinner Dabengwa. It was heartening to see the Indian captain jump out his crease and loft the bowler over mid-off.
In the late 1990s he was known for his batting against spinners, but in the last few years this shot had somewhat disappeared from his armoury.
Things did not go as per plan for India despite a good start to the session. The first ten overs after lunch produced 38 runs. It was strange why the batsmen were content playing out singles when the need to hour was quick runs and making Zimbabwe to bat again.
Pathan reached his half-century off 92 balls, inclusive of six boundaries. It was his second fifty in his 14th Test, but he fell soon after, caught and bowled by Dabengwa for 52.
He was out after getting a leading edge while trying to play on the leg-side in an attempt to give Ganguly the strike to take him closer to his century. He added 96 runs for the seventh wicket with Ganguly as the runs dried up in the latter part of the partnership. (476-7, 133.2)
It looked as if India wanted to bat just once and ensure that Ganguly reaches his century. But it was taking too much time and batting became a pain to watch.
Milestones have become the cornerstone of Indian cricket; individual glory is measured on how many centuries are scored and not the number of matches the team has won.
Even new batsman Anil Kumble took 20 balls to get off the mark.
At the tea interval, he was unbeaten on eight off 27 balls, inclusive of two boundaries.
Giving him company was Ganguly, looking for his first century in Zimbabwe. He was unbeaten on 97 from 256 balls; he took 27 balls to score his last seven runs, which also included a boundary, clearly underlining what the focus of the Indian captain was at the moment.
Runs came in a trickle as India scored 95 in 36 overs to end the session on 491 for 7 in 142 overs.
After the highs of the Ashes series, where every match witnessed attacking cricket and high scoring, this was a poor advertisement for Test cricket, something bound to make the crowd sleep in the stands or drive them off.
India innings: (9.3 overs, 63 runs, 3 wickets)
Dabengwa clearly had Ganguly under a tight leash, allowing just a single in the six overs he bowled to the Indian captain.
The wait for the left-hander was finally over when he hit a cover drive off Ewing to reach his 12th Test hundred off 261 balls. It was his first in Zimbabwe and also took the score past the 500-run mark.
His previous century came around two years back when he scored 144 against Australia at Brisbane in December 2003.
However, he fell to the very next delivery, caught at mid-off trying to loft it over the fielder, off Ewing. With his century completed, he looked to lift the scoring rate but failed. (502-8, 144.5)
Harbhajan survived a chance off the first ball he faced, when Heath Streak dropped a sitter on the leg side as the batsman tried to lift over midwicket off Ewing. In the next over, he hit Dabengwa for a boundary and a six, giving the spectators something to cheer about after a boring day's play. His straight six against Ewing was special as the ball soared into the stands.
Kumble was the ninth wicket to fall. He was caught by Coventry at long-off after scoring 17. It was Dabengwa's third wicket of the innings. (522-9, 147.3)
Harbhajan was on fire as he took on the spinners, hitting three sixes and four boundaries to race to 36 off 14 balls. It forced the introduction of pacer Streak. He did not survive long, holing out to Coventry at long-off to become Blessing Mahwire's fourth victim of the innings as India were bowled out for 554.
Harbhajan and Zaheer had put on 32 quick runs for the final wicket in 3.5 overs. Zaheer finished unbeaten on 13, which was inclusive of a six. India scored 63 runs in 57 balls after tea, and, in the process, lost three wickets.
For Zimbabwe, Mahwire was the most successful bowler, taking 4 for 92. Dabengwa gave him good support, claiming 3 for 127.
India took 151.2 overs to score 554, at a slow run rate of 3.66, against a mediocre bowling attack. They now have a commanding lead of 275 runs and two-and-half days remaining to bowl out Zimbabwe and win the first Test. However, with pitch still good for batting, the Indian bowlers will need to work really hard if the batsmen play sensibly and settle down.
Zimbabwe innings: (17.2 overs, 67 runs, 6 wickets)
Zimbabwe got off to a bad start as Pathan struck in the first over of the innings. Brendon Taylor, on 4, was trapped leg before wicket, comprehensively beaten by an in-swinging delivery from the left-arm pacer. (4-1, 0.4)
Pathan claimed the second Zimbabwe wicket when Hamilton Masakadza hit straight to Kumble, at gully, to a wide pitched up delivery. The right-hander had scored just 2 and it was a silly shot in the third over of the innings when the need was to stay put at the wicket and see off the pacers. (9-2, 2.4)
Zaheer also joined the party, disrupting Terry Duffin's stumps. The left-hander also failed to read the swing and was beaten by a sharp incoming delivery to be bowled for 2. (9-3, 3.5)
In just the fourth over, the Zimbabwe innings was in tatters and once again the onus was on captain Tatenda Taibu to save the blushes.
Wickets continued to tumble as Pathan crashed through Dion Ebrahim's defence to bowl him. Dion, playing a perfect forward defence, failed to read Pathan's in-swinger and was out for 1. (16-4, 7)
Heath Streak was the fifth wicket to fall as he shouldered arms to another in-swinging delivery from Pathan and was trapped leg before wicket off the first ball he faced. In just eight overs, half of the Zimbabwean side was back in the pavilion. (18-5, 8.1)
Harbhajan was introduced in the 14th over. He replaced Zaheer, who bowled six overs, taking 1 for 17. Immediately Taibu took him on, hitting him for two consecutive boundaries in his first over.
But the off-spinner struck in his third over, getting Coventry to play forward and end up being caught by Gautam Gambhir at short leg for 24. (67-6, 17.2)
The wicket was Harbhajan's 200th in Tests, in only his 46th match, and made him fastest Indian bowler reach the milestone.
Coventry played some attacking shots with Taibu, as the duo added 49 runs for the seventh wicket, before the former was dismissed in the last over of the day.
At the close of play, Zimbabwe were reeling on 67 for 6, with Taibu unbeaten on 30.
Pathan was the wrecker-in-chief as he claimed 4 for 35 in his eight overs, while Zaheer and Harbhajan took a wicket each. If only India had scored a bit faster today, the match would have been wrapped up by now.
After two quite boring sessions, the final session had some entertainment for the spectators, with nine wickets falling for 130 runs.