Sri Lanka was forced to follow on in the second test after India paceman Shantakumaran Sreesanth snared 5-75 on day three to help bowl out the visitors for 229 in their first innings on Thursday.
Rattled by Sreesanth, Sri Lanka conceded a 413-run lead after India scored 642 in its first innings, and now must try to survive the remaining seven sessions.
Returning to the Indian team after two years, Sreesanth troubled the Sri Lanka batsmen with his swing to claim five wickets in an innings for only the second time in his 15-test career. He dismissed opener Tharanga Paranavitana (38), skipper Kumar Sangakkara (44) and Thilan Samaraweera (2) in the first session. He then added the wickets of Prasanna Jayawardene (39) and Rangana Herath (11) to his haul after lunch.
Debutant left-arm spinner Pragyan Ojha (2-37) and offspinner Harbhajan Singh (2-54) claimed the other wickets Thursday after the tourists resumed at a decent overnight score of 66-1. Sri Lanka was quickly in trouble on day three, when Sreesanth removed overnight batsmen Paranavitana and Sangakkara. Paranavitana was caught behind by Mahendra Singh Dhoni after adding just eight runs to his overnight score of 30, while Sangakkara played a seaming Sreesanth delivery onto the stumps. Prasanna Jayawardene contributed 39 in his 60-run partnership for the sixth wicket with former captain Mahela Jayawardene, who had a lucky escape when he got off the mark by edging a Sreesanth delivery between the wicketkeeper and first slip.
Prasanna Jayawardene became Sreesanth's fourth victim, nicking an outswinger to wicketkeeper Dhoni, while Rangana Herath was bowled for 11.
Angelo Mathews (13) was bowled by Harbhajan, and Ojha claimed his first test wicket when Mahela Jayawardene was caught by Tendulkar in trying to loft a shot over mid-on.
Ojha went on to trap Muttiah Muralitharan (6) lbw after tea and Sri Lanka's innings ended when Harbhajan got an lbw decision against Chanaka Welegedara (7).
The first test of the three-match series ended in a dreary draw last week.