S Sreesanth put India in sight of a huge victory against Sri Lanka with a five-wicket haul on Day 3 of the second Test, at Green Park, in Kanpur, on Thursday.
The visitors were tottering at 57 for four in 23 overs in their second innings at stumps, still trailing India by 356 runs, after being dismissed for 229 in their first essay.
Sreesanth, playing his first Test after a gap of nearly 18 months, claimed five wickets for 75 runs in 22 overs as the visitors conceded a 413 runs first innings deficit, India having amassed a mammoth 642 in their first innings.
Following-on, Sri Lanka were dealt an early blow when Sreesanth had Tillakaratne Dilshan caught behind for 11 in the fourth over of the innings.
Part-timer Virender Sehwag then claimed a wicket in his first over, trapping Tharanga Paranavitana leg before for 20.
Sri Lanka were left on the brink after their senior-most batsmen, Mahela Jayawardene (10) and Kumar Sangakkara (11), fell in successive overs.
Earlier, Sreesanth, who bowled an extended spell of nine overs in the morning session, claimed the wickets of Tharanga Paranavitana, Kumar Sangakkara and Thilan Samaraweera. The Kerala pacer went on to complete his second five-wicket haul in Test cricket by scalping Prasanna Jayawardene and Rangana Herath in the post-lunch session.
Left-arm spinner Pragyan Ojha had a dream debut, returning with figures of two for 37 in 23 overs, while Harbhajan Singh claimed two for 54 in 21 overs in Sri Lanka's first essay.
Morning session: (25 overs, 72 runs, 4 wickets)
The teams observed a minute's silence before the start of Day 3 in memory of those killed in last year's Mumbai terror attack on November 26.
India started with pacers Zaheer Khan and Sreesanth, hoping to take advantage, if any, of the early morning conditions. Kumar Sangakkara started the day in style, flicking a full delivery on the pads through square leg for a boundary in the first over of the day.
Tharanga Paranavitana got his first boundary of the day by opening the face of the bat to guide Zaheer through third man in his next over.
Sreesanth struck the day's first blow, claiming the wicket of Paranavitana, caught behind by wicketkeeper Dhoni, as the batsman edged an outswinging delivery. The left-hander made 38 from 84 deliveries, inclusive of six boundaries, adding 82 runs for the second wicket with Sangakkara. (82-2, 29.2)
A delighted Sreesanth, back in the Indian team after over a year, got a hug from all his team-mates, including a big one from Harbhajan Singh.
The Kerala pacer should have got the big wicket of the in-form Mahela Jayawardene off the very next delivery. He bowled the perfect outswinger which Jayawardene could only edge, but, to India's horror, the ball went between the wicketkeeper and Sachin Tendulkar at first slip, both making no attempt to catch it.
Jayawardene was having a tough start, as he survived a huge shout for leg before wicket against Sreesanth in his next over after getting an inside edge. He, however, underlined his form when he flicked Sreesanth through the leg side for a boundary, as that bowler drifted on the pads.
The day got better for Sreesanth as he picked the important wicket of Sangakkara for 44 off 108 deliveries, inclusive of five boundaries. The left-hander tried to play a wide delivery through the covers but ended up inside edging it back on to his stumps. (101-3, 33.4)
Dhoni brought on Ojha ahead of Harbhajan to replace Zaheer in the 35th over, with an attacking field comprising two slips, short leg and silly point.
Dhoni kept Sreesanth going for a long spell and the move paid off as the Kerala pacer claimed the wicket of Thilan Samaraweera in the seventh over of his spell. Once again the wicket came courtesy an inside edge when Samaraweera (2) played away from his body, but dragged it back on to his stumps as the ball stayed a bit low. (111-4, 37.2)
New batsman Angelo Mathews lashed at a wide delivery from Sreesanth but was lucky, as it just went wide off the fielder at point for a boundary in the 41st over. He then stepped down the wicket to Pragyan Ojha and lifted him over mid-on for the first six of the Sri Lanka innings.
Harbhajan Singh struck in the first over of his new spell, bowling Mathews for 13, as Sri Lanka slipped further. Bowling his first over of the third day, Harbhajan beat Mathews on the flight with a full delivery that went past the batsman's defences and clipped the bails. (134-5, 43.5)
That wicket brought the two Jayawardenes -- Mahela and Prasanna -- together again at the crease. The last time the duo batted together, in the first innings of the first Test in Ahmedabad, they put on a world record stand of 351 runs for the sixth wicket.
Mahela Jayawardene, on 25, got a second lifeline when Rahul Dravid dropped a straightforward catch at first slip off Harbhajan in the 46th over.
At lunch, Sri Lanka were 138 for five in 49 overs, still trailing India's first innings score by 504 runs and needing another 305 runs to avoid the follow-on.
Mahela Jayawardene, after being dropped twice, was unbeaten on 26 from 59 deliveries, while Prasanna Jayawardene was not out on 2 from 19 deliveries.
The session belonged to India; they claimed four wickets, courtesy Sreesanth, who bowled an extended spell of nine overs to claim three for 57 in 15 overs.
Harbhajan seemed to have found his rhythm straightaway on the third day as he took one for 16, while Ojha kept one end tight to give away just 19 runs from 12 overs.
Post-lunch session: (28 overs, 81 runs, 3 wickets)
Prasanna Jayawardene got off to a confident start after lunch, smashing Harbhajan through point for a boundary in the first over of the session. In his next over, Mahela Jayawardene took a calculated risk by slog sweeping him for a boundary through the square leg region.
Prasanna Jayawardene survived a huge leg before wicket appeal when he was struck on the pads by Zaheer, but the umpire ruled in the batsman's favour in the 53rd over. Off the very next delivery, the batsman helped himself to a boundary when Zaheer dropped it short and wide off the leg stump.
Sri Lanka made steady progress after lunch, as the two Jayawardenes added 27 runs in eight overs in the second session to reach 165 for five in 57 overs.
Prasanna Jayawardene looked to give the innings some momentum with boundaries in consecutive overs off Harbhajan and Zaheer, as 38 runs came in the ten overs after lunch. The wicketkeeper then slammed Harbhajan for a huge six over midwicket with a slog sweep as Sri Lanka scored 183 for five after 60 overs.
Dhoni was wary of not letting the two Jayawardenes settle down and brought on part-timer Yuvraj Singh, who has often delivered with the ball in ODIs, in the 64th over.
However, it was Sreesanth who struck again. He separated the Jayawardenes when he came back for a new spell after lunch. Prasanna Jayawardene lashed out at a wide short delivery but only got an edge and was caught behind by wicketkeeper Dhoni for 39. (194-6, 67)
The two Jayawardenes added 60 runs for the sixth wicket but their dismissal exposed the tail and Sri Lanka's hopes of thwarting the Indians now rested on Mahela Jayawardene.
Jayawardene thumped a full delivery from Ojha over the mid-on fielder for a boundary to take Sri Lanka to 200 for six after 70 overs.
But debutant Ojha persisted with his flight and it finally paid off with the big wicket of Jayawardene. The right-hander had smashed him over mid-on in the previous over for a boundary, but was dismissed trying a similar shot and caught by Tendulkar at mid-on.
Jayawardene, despite being dropped twice, could only manage just 47 from 125 deliveries, inclusive of six boundaries. (204-7, 71.2)
Sreesanth completed a five-wicket haul when he slanted one across left-hander Herath and bowled him for 11. (216-8, 74.4)
Muttiah Muralitharan survived a few nervous moments to take Sri Lanka to 219 for eight at tea in 77 overs.
What a comeback by Sreesanth! His selection was criticised by many, but Dhoni showed faith and brought into the side for this match. He has put his team on the victory path with figures of five for 75 in 22 overs.
Once again Ojha impressed, as he not only kept the runs down, but also grabbed his maiden Test wicket for figures of one for 33 in 20 overs, including 11 maidens.
Post-tea session: (30 overs, 67 runs, 6 wickets)
Ojha claimed the first wicket after tea, when he trapped Muralitharan leg before for six with a quicker delivery that went straight on after pitching. (219-9, 79)
With the tail-enders struggling to get bat on ball, Harbhajan wisely came round the wicket. The move paid off when Chanaka Welegedara was struck on the pads and ruled out leg before wicket for 7 as Sri Lanka's innings folded up for 229 in 84 overs.
India, who put up a mammoth 642 in their first innings, thus took a 413-run first innings lead, their biggest against Sri Lanka.
Sreesanth was the wrecker-in-chief, claiming five for 75 in 22 overs, while Ojha showed great control to take two for 37 in 23 overs, that included 12 maidens.
Harbhajan also showed improvement from the previous match as he took two for 54 in 21 overs while Zaheer contributed with a handy one for 51 in 17 overs.
(Sri Lanka 2nd innings)
Tillakaratne Dilshan started at the non-striker's end after being dismissed off the first delivery by Zaheer Khan in the first innings. He took off in style, flicking a full delivery from Zaheer through midwicket for a boundary in the first over.
He seemed intent to make up for his failure in the first innings as he hit Sreesanth through the covers for another boundary in the next over.
But it was Sreesanth who took the first wicket in the second innings, dismissing Dilshan. The right-hander scored 11 before he was beaten all ends up by the outswinger from Sreesanth and failed for the second time in the match. (13-1, 3.3)
Paranavitana and Sangakkara got off the mark with boundaries in successive overs as Sri Lanka reached 21 for one after six overs.
Dhoni introduced spin as early as the eighth over, bringing in Harbhajan to replace Sreesanth, who took one for ten in his three overs.
With India having fielders all around the bat, Paranavitana benefited as he hit Zaheer for three boundaries, including two through the point region, in the ninth over of the innings.
The move to introduce part-timer Virender Sehwag ahead of Ojha paid off as the former dismissed Paranavitana. The left-hand opener played back too often against Sehwag and on one occasion was beaten by the quicker delivery and trapped plumb in front of the wickets for 20 from 36 deliveries. (37-2, 10.5)
Lady luck continued to smile on Mahela Jayawardene as he was dropped for the third time in the day. Once again Harbhajan induced the edge, as Jayawardene, on 8, attempted the late cut, but Dravid at first slip grassed the opportunity in the 18th over.
But Jayawardene didn't survive much longer and it was his captain who caused his downfall. Jayawardene (10) responded to the call for a quick single from Sangakkara but Yuvraj's throw to Dhoni found him short. (54-3, 18.3)
In the next over, Sri Lanka's hopes were dashed further when Sangakkara dragged one back to his stumps, the dismissal similar to that of the first innings earlier in the day. The left-hander made 11 from 42 deliveries before handing Harbhajan his first wicket of the second innings. (54-4, 19.1)
The Sri Lanka captain's failure to get big scores in this series has affected his team big time, especially in this match.
The batsmen then had no hesitation in going back when umpires offered them light.
Sri Lanka finished the day on 57 for four in 23 overs, still needing another 356 runs to make India bat again.
Once again the Indian bowlers underlined their domination with good probing spells on a pitch offering sufficient help. Sreesanth did the early damage with the wicket of Dilshan, taking one for 10 in three overs. Harbhajan again impressed in the second innings, claiming one for 14 in eight overs, while Sehwag took one for four in three overs.
It remains to be seen how long Sri Lanka can survive on the fourth day.