Angelo Mathews ended proceedings, taking Bangladesh to a comfortable seven-wicket win, unbeaten on 52. This was Sri Lanka's first series win at home after 3 years and 8 months.
Avishka Fernando gave Sri Lanka the perfect start before falling for 82.
Mehidy Hasan provided the breakthrough, breaking a solid opening stand of 71.
Mushfiqur fell two short of a well-deserved century, remaining unbeaten on 98 as Bangladesh put up 238 in their 50 overs.
Mehidy Hasan and Mushfiqur Rahim revived Bangladesh's innings from 117/6 to take them past the 200-run mark.
Akila Dananjaya struck in his first over on return to the side and finished with figures of 2-39 in his ten.
Sri Lanka's bowlers struck at regular intervals to keep Bangladesh's batsmen in check.