Rangana Herath celebrated his 35th birthday with a career-best 7-89 as Sri Lanka clinched the series against Bangladesh with a comfortable seven-wicket win in the second and final Test on Tuesday.
Opener Tillakaratne Dilshan (57) and left-hander Kumar Sangakkara (55) put on 94 for the second wicket to steer the home team towards their 160-run target on the penultimate day in Colombo.
The opening Test in Galle ended in a draw.
Former captain Sangakkara, who scored three successive centuries in the series, cracked eight fours in his 85-ball knock before being bowled by off-spinner Sohag Gazi.
He was named man of the series while Herath was man of the match.
Dilshan, bowled by paceman Robiul Islam, hit six fours in his 73-ball knock.
"What more can you ask from Herath? After Murali (Muttiah Muralitharan), Herath has been the man for us," said Sri Lanka captain Angelo Mathews, leading in his first Test series.
"We were put under a little bit of pressure in the first innings, but Sangakkara and (Dinesh) Chandimal scored those useful centuries. Bangladesh played really well but I never really doubted my team."
Bangladesh, trailing by 106 runs on first innings, were bowled out for 265 in their second innings after adding 107 to their overnight total of 158-4.
Left-arm spinner Herath did the damage by capturing four of the remaining six wickets in the morning. He also completed his third haul of 10 or more wickets in a Test, after bagging 5-68 in the first innings.
"We were probably 100 runs short in the second innings," said Bangladesh skipper Mushfiqur Rahim, who still hailed his team's progress.
"We are really playing well over the last one-and-a-half years," he said. "A couple of young guys played really well against Sri Lanka in a pressure situation. Hopefully, they will get better with time."
Rahim (40) offered some resistance before becoming Herath's 200th Test victim, caught by Angelo Mathews at first slip after hitting one six and three fours in his 87-ball knock.
Tailender Abul Hasan cracked two sixes in his unbeaten 25 to help Bangladesh cross the 250 mark.
Herath had taken three wickets on Monday and struck again in his opening over of the morning, having Mominul Haque caught by Dimuth Karunaratne at short-leg with a delivery that turned and bounced.
Mominul had managed to add just one to his overnight score of 36.
Herath then bowled Nasir Hossain for a duck in his third over to reduce Bangladesh to 171-6.
Bangladesh counter-attacked, with Rahim smashing Herath for a straight six and Gazi (26) later lofting the spinner over long-off for his first six.
Gazi kept playing his shots after being dropped on 14 by Karunaratne at second slip off paceman Nuwan Kulasekara.
He hit the next two deliveries for fours but his flourish did not last long. He was caught by Suranga Lakmal at long-on while attempting a big slog off Herath, who shared the new ball with Kulasekara.
Sri Lanka on Monday were bowled out for 346 in their first innings in reply to Bangladesh's 240.