Sri Lanka crushed Bangladesh by 10 wickets in the second cricket Test to win the series 1-0 after the host team collapsed from 5-156 to 169 all out in its second innings.
Sri Lanka easily reached the target on the fifth and final day to finish 0-29 in three overs with Oshada Fernando hitting 21 off only nine balls.
Captain Dimuth Karunaratne was 7 not out.
Fast bowler Asitha Fernando did most of the damage for Sri Lanka's bowlers, registering his first 10-wicket haul in a match with 4-93 in the first innings, followed by 6-51.
Shakib Al Hasan (58) and in-form Liton Das (52) earlier helped Bangladesh avoid an innings defeat.
Resuming the day on 4-34 and still needing 107 runs to make Sri Lanka bat again, Bangladesh lost Mushfiqur Rahim (23) in the eighth over of the day when Kasun Rajitha (2-40) bowled him with a delivery that kept low.
Allrounder Shakib, who took 5-96 in the first innings, counterattacked to keep the scoreboard ticking.
Liton, after scoring 88 runs in the drawn first Test and a career-best 141 in the first innings of this Test, went slowly but smoothly to deny Sri Lanka bowlers' quest for another wicket.
The wicketkeeper-batter pushed left-arm spinner Praveen Jayawickrama through cover for a single to bring up 2000 runs in his 33rd Test.
Shakib reached his 27th half-century off 62 balls, whipping a delivery from off-spinner Dhananjaya de Silva through midwicket for a boundary on the stroke of lunch.
But soon after reaching his 13th fifty off 130 balls, Liton gave a return catch to Fernando and it sparked the collapse.
Bangladesh's hopes of saving the Test took a big hit when Shakib edged a delivery from Fernando to wicketkeeper Niroshan Dickwella after hitting seven fours in his 72-ball knock.
Fernando cleaned up the tail to give Sri Lanka a small target to chase.
Bangladesh chose to bat first and scored 365 in the first innings. Sri Lanka took control of the Test and series after replying with 506.
Australian Associated Press
Sign up for our newsletter to stay up to date.