Ravi Jadeja completed his ninth five-wicket haul in Test cricket as India beat Sri Lanka by an innings and 53 runs in Colombo to take an unassailable 2-0 lead in the three-match series.
The left-arm spinner, who went past 150 wickets in Test cricket in the match, completed figures of 5/152 in 39 overs as India beat the hosts by a huge margin of an innings and 53 runs.
Resuming the fourth day on 209/2, Sri Lanka had plenty of work to do if they wanted to just make the visitors bat again.
Opener Dimuth Karunaratne, who was 92 not out overnight, went to his century but lost nightwatchman Malinda Pushpakumara (16) in the process.
Jadeja accounted for home captain Dinesh Chandimal (2) but Angelo Mathews (36) stuck around for a while but Jadeja had the former Sri Lanka skipper caught behind.
Karunaratne's resistance finally ended on 141 while wicketkeeper Niroshan Dickwella swept his way to 31.
Ravi Ashwin finished the game when he had Nuwan Pradeep caught by Shikhar Dhawan with the home team 386 all out as India clinched a second consecutive series victory in Sri Lanka.
The win at the Sinhalese Sports Club Ground was set up after India racked up 622/9 in their first innings before forcing Sri Lanka to follow-on when they bowled the home team out for just 183.