|Sreesanth took six wickets to take the match away from Sri Lanka [AFP]
Shanthakumaran Sreesanth ripped the heart out of Sri Lanka's feted batting lineup as India dismissed the tourists for barely a third of their own first-innings total – then reduced the demoralised tourists to 57-4 in the follow on.
The paceman bagged his second five-wicket Test haul to leave Sri Lanka fighting to save the match in Kanpur on Thursday, before their capitulation in the second innings removed all hope.
The touring side were forced to bat again after making a paltry 229 all out in reply to the hosts' massive first-innings score of 642.
And Sreesanth got his sixth wicket of the match as he removed opener Tillakaratne Dilshan for 11.
Any Sri Lankan notions of salvaging a draw were dashed when the other opener Tharanga Paranavitana went for 20, Mahela Jayawardene was run out for 10, and skipper Kumar Sangakkara fell cheaply on 11.
At the close of the third day, Thilan Samaraweera and Angelo Mathews were batting as Sri Lanka faced the prospect of a huge defeat.
India first innings 642 all out
Sri Lanka first innings (o/n 66-1)
T Dilshan c Ojha b Khan 0
T Paranavitana c Dhoni b Sreesanth 38
K Sangakkara b Sreesanth 44
M Jayawardene c Tendulkar b Ojha 47
T Samaraweera b Sreesanth 2
A Mathews b Harbhajan 13
P Jayawardene c Dhoni b Sreesanth 39
R Herath b Sreesanth 11
M Muralitharan lbw b Ojha 6
C Welegedara lbw b Harbhajan 7
A Mendis not out 6
Total (all out; 84 overs) 229
FoW 1-0 2-82 3-101 4-111 5-134 6-194 7-204 8-216 9-219
Sri Lanka second innings
T Paranavitana lbw b Sehwag 20
T Dilshan c Dhoni b Sreesanth 11
K Sangakkara b Harbhajan 11
M Jayawardene run out 10
T Samaraweera not out 1
A Mathews not out 2
Total (for 4; 23 overs) 57
FoW 1-13 2-37 3-54 4-54
Sreesanth forced Dilshan to edge a delivery to wicketkeeper Mahendra Singh Dhoni before Indian bowlers made quick inroads into a tense Sri Lankan batting line-up.
Occasional off-spinner Virender Sehwag trapped Paranavitana leg before and Jayawardene was run out following a mix-up going for a risky single before Sangakkara played on to the stumps for a second time, against off-spinner Harbhajan Singh.
Earlier, the 26-year-old Sreesanth skittled Sri Lanka's prize batsmen on the third day after his three quick strikes in the morning had reduced them to 138-5 by lunch.
The bowler returned figures of 5-75, after his three wickets in a blistering morning spell on Thursday.
Playing his first Test since facing South Africa on the same ground in April 2008, Sreesanth was at his fiery best in an afternoon spell to make further inroads into the order.
He first had Prasanna Jayawardene caught behind for 38 to end his 60-run sixth wicket partnership with Mahela Jayawardene, which had raised some hopes of a Sri Lanka recovery.
He then bowled tail-ender Rangana Herath to make it 216-8 after debutant left-arm spinner Pragyan Ojha claimed the prize wicket of Mahela Jayawardene, who was caught at mid-on for 47.
Muttiah Muralitharan and Chanaka Welegedara were together at the interval before they were dismissed by Ojha and Harbhajan Singh respectively.
In the morning, Sreesanth removed Paranavitana for 38, skipper Sangakkara six short of his fifty and Samaraweera after Sri Lanka had resumed on 66-1.
Both Prasanna Jayawardene and Mahela Jayawardene fell to rash shots on a pitch which demanded application, after Sangakkara and Samaraweera had also dragged wide deliveries onto the stumps.
Paranavitana added 82 runs with Sangakkara for the second wicket until he edged a swinging delivery. Sangakkara also looked well-set until he played a wild drive and Sreesanth made it 111-4 when Samaraweera also drove without moving his feet.
Off spinner Harbhajan bowled all-rounder Mathews close to the lunch interval.
In their first innings, India's Gautam Gambhir scored 167, Sehwag struck 131 and Dravid hit 144 to help the hosts post a huge total.