Sachin Tendulkar once again came to his country's rescue and raised hopes of salvaging the second test on Wednesday after Sri Lankan spinners wreaked havoc by claiming four wickets to hinder India's fightback.
Tendulkar struck his 48th test century and Suresh Raina notched up a 50 on debut as they guided India to within 61 runs of the follow-on mark on the third day of the test.
At the close India were 382 for four in reply to Sri Lanka's first innings of 642-4 declared, trailing by 260 runs. Tendulkar was unbeaten on 108 and Raina on 66 not out.
After grabbing three wickets for eight runs in the morning and one more in the afternoon, Sri Lanka were deprived of any success in the final session as Tendulkar and Raina added 141 for the fifth wicket.
The pair frustrated the Sri Lankan bowlers by not taking any chances and scoring runs only off the loose balls. Kumar Sangakkara, the Sri Lanka captain kept changing his bowlers even asking spinner Suraj Randiv to take the second new ball, but the two batsmen were equally adept to the challenge.
Wicket-keeper Prasanna Jayawardene's dropped catch, when he put down a sitter from Tendulkar when he was on 29, proved to be an expensive miss for the home team.
Tendulkar made them pay heavily for the mistake, striking one six and 14 fours in reaching his ninth test hundred against Sri Lanka off 167 balls with a sweep shot for four off Randiv.
Inspired by his senior partner, Raina eased to his maiden test fifty off 95 balls with eight fours.
India, buoyed by an opening stand of 165 between Murali Vijay and Virender Sehwag, stumbled to tea on 243-4. At that stage the tourists trailed Sri Lanka by 399 runs.
India added 70 runs to their overnight score before suffering a collapse late in the morning session when they lost three quick wickets after Vijay had reached his second test fifty.
Sehwag, dropped by Thilan Samaraweera at point on 89, failed to fully capitalise on that lapse when he went for an adventurous drive to bring up his century and was stumped by Jayawardene for an attacking 99 off 101 balls.
Sehwag's dismissal after hitting 15 fours gave debutant off-spinner Randiv his maiden test wicket with his first ball of the day.
Randiv struck again two overs later by trapping Rahul Dravid leg before wicket for three. Fellow spinner Ajantha Mendis then dismissed Vijay in a similar manner for 58 to round off a great session for Sri Lanka.
Tendulkar and Vangipurappu Laxman added 68 for the fourth wicket before Mendis ended the partnership by trapping Laxman lbw for 29.
Sri Lanka lead the three-match series 1-0 after their 10-wicket victory in Galle last week.
Follow Emirates 24|7 on Google News.