Rangana Herath returned career-best match figures of 12-157 to propel Sri Lanka to a seven-wicket win against Bangladesh on the fourth day of the second test and 1-0 series victory.
Chasing 160 to win on Tuesday, Sri Lanka reached the target losing three wickets in the final session, led by Tillakaratne Dilshan (57) and Kumar Sangakkara (55).
Seamer Robiul Islam took the wickets of both openers, dismissing Dimuth Karunaratne (16) lbw and bowling out Dilshan.
Dilshan hit six boundaries off 73 deliveries and shared 94 for the second wicket with Sangakkara, who faced 85 deliveries and hit eight boundaries.
Earlier, Herath took 7-89 to help dismiss Bangladesh in its second innings for 265. He picked up four of the six wickets that fell on Tuesday morning, his 35th birthday.
It was his best bowling figures in an innings, and his match tally was the third time he has achieved 10 wickets or more in a test, improving on his 12-171 against England at Galle last year.
The performance also took him to 200 test wickets in his 47th match.
Resuming day four at 158-4, Bangladesh lost Mominul Haque for 37 with just one run added to his overnight score. Herath kept up the pressure by bowling Nasir Hossain without scoring.
Captain Mushfiqur Rahim and Sohag Gazi resisted briefly with a promising 31-run stand for the seventh wicket but Gazi was out for 26 to an ambitious shot against Herath, caught by Suranga Lakmal in the deep.
Rahim soon followed after being caught at slip by his opposing captain Angelo Mathews. Rahim made 40 off 87 deliveries including three boundaries and a six.
Tamim Iqbal top-scored for Bangladesh with 59, while Jahurul Islam made 48.
Sri Lanka dismissed Bangladesh for 240 in the first innings and scored 346 to set up a 106-run first-innings lead.
The first test ended in a high-scoring draw last week.
A three-match, one-day international series starts on Saturday.