Ravichandran Ashwin grabbed four wickets on Monday as India crushed Sri Lanka by an innings and 171 runs inside three days to complete their first three-Test series sweep on foreign soil.
Ashwin and paceman Mohammed Shami shared seven wickets as Sri Lanka were bowled out for 181 during their follow-on in an extended second session in Pallekele.
Sri Lanka had crumbled for 135 in response to India's 487 in the first innings, putting the world's top Test team in firm control as early as day two.
All-rounder Hardik Pandya set up the win with his blistering, 96-ball 108, cracking his maiden Test century in just his third game.
Left-arm wrist spinner Kuldeep Yadav turned up the heat with four wickets in Sri Lanka's first innings as the islanders conceded a 352-run first innings lead.
And Ashwin kept up the pressure on the beleaguered hosts, striking the first blow of the morning session by sending back opener Dimuth Karunaratne for 16.
Skipper Dinesh Chandimal, who made 36, provided some resistence during his 65-run fifth-wicket stand with Angelo Mathews.
Kuldeep, playing just his second Test, broke the partnership with Chandimal's wicket just after lunch, and Ashwin soon got Mathews for 35 as Sri Lanka slipped further.
Shami combined with Ashwin to mop up the tail as beleaguered Sri Lanka suffered their second successive innings loss after the Colombo Test.
India 1st Innings 487
(S. Dhawan 119, H. Pandya 108; L. Sandakan 5-132)
Sri Lanka 1st innings 135
(D. Chandimal 48; K. Yadav 4-40)
Sri Lanka 2nd innings
(overnight 19-1; D. Karunaratne 12 not out, M. Pushpakumara 0 not out)
D. Karunaratne c Rahane b Ashwin 16
U. Tharanga b U. Yadav 7
M. Pushpakumara c Saha b Shami 1
K. Mendis lbw b Shami 12
D. Chandimal c Pujara b K. Yadav 36
A. Mathews lbw b Ashwin 35
N. Dickwella c Rahane b U. Yadav 41
D. Perera c Pandya b Ashwin 8
L. Sandakan c Saha b Shami 8
V. Fernando not out 4
L. Kumara b Ashwin 10
Extras (b2, nb1) 3
Total (all out, 74.3 overs) 181
Bowling: Shami 15-6-32-3, Ashwin 28.3-6-68-4, U. Yadav 13-5-21-2, K. Yadav 17-4-56-1, Pandya 1-0-2-0
Fall of wicket: 1-15 (Tharanga), 2-26 (Karunaratne), 3-34 (Pushpakumara), 4-39 (Mendis), 5-104 (Chandimal), 6-118 (Mathews), 7-138 (Perera), 8-166 (Sandakan), 9-168 (Dickwella), 10-181 (Kumara)
India win by an innings and 171 runs
India win the three-match series 3-0