Ravichandran Ashwin ripped through Sri Lanka's lineup to complete a five-wicket haul and propel India to a crushing 278-run win in the second test Monday to level the three match series at 1-1.
Resuming on 72-2 and chasing 413 to win, Sri Lanka lost seven wickets in the opening session for just 58 runs to reach 130-9 when rain stopped play 12 minutes before the scheduled lunch break.
The Sri Lankans added just four runs after the break before legspinner Amit Mishra (3-20) trapped Dushmantha Chameera lbw to win the match and complete a disappointing end to veteran batsman Kumar Sangakkara's illustrious 15-year international career.
Indian captain Virat Kohli praised his team's tenacity to bounce back after their defeat in the first test in Galle.
"It's satisfying knowing we came pretty close twice before once in Adelaide and in Galle as well. We have spoken about it, when you have won six sessions you would expect your side to win the game," Kohli said. "I think that game hurt us in the right way. Commendable effort from all the boys to regroup themselves after a loss like that."
Sri Lanka captain Angelo Mathews was sorry that he couldn't send Sangakkara off on a winning note.
"He deserved to go off on a high with a win but really disappointed and sad we couldn't do it for him. But what we can do is to promise him to play well in the next game and try and win the test match and win the series for him."
Fast bowler Umesh Yadav dismissed Mathews (23) with the first ball of the day, caught by stand-in wicketkeeper Lokesh Rahul.
The Sri Lanka top-order fell cheaply as Dinesh Chandimal was bowled by Mishra for 15, Lahiru Thirimanne was caught off an Ashwin (5-42) ball for 11 and Jehan Mubarak was caught by Kohli off Ishant Sharma for a duck.
Dimuth Karunaratne, who was bowled by Mishra on Saturday, top-scored for Sri Lanka with 46.
Rahul who made a century in the first innings for India was named player of the match.
India will now enter the final test Friday with renewed confidence after losing the opener by 63 runs in Galle last week.
Ashwin ended Kumar Sangakkara's final international innings for 18 on Sunday, caught at slip by Murali Vijay.
Kaushal Silva was first to be dismissed, caught by Stuart Binny off Ashwin with Sri Lanka on just 8-1.
India declared its second innings at 325-8 shortly after tea on Sunday and, with an 87-run first innings lead, set Sri Lanka a winning target of 413. India made 393 in its first innings and Sri Lanka relied with 306.
Ajinkya Rahane top scored for India with 126, his fourth test hundred, supported by Vijay who made 82.
Seam bowler Dhammika Prasad and offspinner Tharindu Kaushal took four wickets each for Sri Lanka.
This content appears as provided to The Globe by the originating wire service. It has not been edited by Globe staff.