Sri Lanka's last sweep was a 2-0 series win at in Ireland in June 2016.
Choosing to bat after winning the toss, Sri Lanka made 294 for eight in 50 overs, riding on the innings of Mathews. He was well backed by Kusal Mendis who made 54.
Captain Dimuth Karunaratne (46) and Kusal Perera (42) also made useful contributions.
Fast-medium bowler Soumya Sarkar took three for 56 while Shafiul Islam had three for 68 for Bangladesh.
Sarkar also shone with the bat, top-scoring with 69 runs, but a dismal show from the other batsmen resulted in Bangladesh being dismissed for 172 runs with 14 overs to spare.
Dimuth Karunaratne and Avishka Fernando opened the batting for Sri Lanka but their stand did not last long when Fernando, who top-scored with 82 runs in the second match, was out for six runs, trapped lbw by seamer Shafiul Islam.
Karunaratne and No. 3 batsman Kusal Perera shared 83 runs for the second wicket in 95 balls before Karunaratne (46) was caught by wicketkeeper Mushfiqur Rahim trying to scoop left-arm spinet Tailjul Islam.
Perera departed soon caught behind by Rahim off pace bowler Rubel Hossain, leaving Sri Lanka 98 for three.
Mathews joined Mendis and the pair steadied the Sri Lankan innings sharing 101 runs for the fourth wicket off 121 balls. Mendis mistimed a slow ball from Sarkar and was caught near the boundary by Sabbir Rahman for 54 runs. That was his 16th one-day international half-century.
Mathews made 87 runs in 90 balls including eight boundaries and a six. He made good dropped chances on 32 and 63 to reach his second successive half-century score in the series and the 40th of his career.
Sri Lanka scored 106 runs in the last 10 overs with Dasun Shanaka scoring 30 off 14 deliveries including two sixes and two boundaries.
Bangladesh started its chase poorly, losing captain Tamim Iqbal with just four runs on the board in the second over. Tamim, who had scored zero and 19 in the previous two matches of the series, departed for two runs caught behind by Perera off fast bowler Kasun Rajitha.
Anamul Haq and Sarkar added 25 runs for the second wicket before Anamul, who hit two consecutive fours against Rajitha, skied a third for a catch to Fernando.
In-form Mushfiqur Rahim, who made two half-centuries in the series including an unbeaten 98 in the second match, was out for 10 caught at slip by Mendis off seamer Shanaka.