The off-spinner, just back from a serious shoulder injury, took five for 59 from 25 overs in the second innings as the touring side were dismissed for 184.
It was the 11th time Muralitharan had taken 10 wickets in a match, and gave him a career total of 430 wickets, fifth on the all-time list and just one behind New Zealand former all-rounder Richard Hadlee.
His performance, earning him 10 for 98 for the match, also gave him five wickets in a Test innings for the 36th time, equalling Hadlee’s world record.
Muralitharan said: “I am still not fully fit.” Long-suffering Bangladesh, needing 380 to make Sri Lanka bat again, at least bettered their first innings of 161.
But it was the touring side’s 11th defeat in 12 matches — the other result was a draw — since their Test debut two years ago.
The slide started right at the start of the first session as opener Abdul Hannan Sarkar, who scored 55 in Bangladesh’s first innings, was trapped leg before wicket by Sujeewa de Silva with the score on two.
Muralitharan then bowled Habibul Bashar for 34 and had both Akram Kham and Aminul Islam caught behind.
After lunch, Al-Sahariar, who scored 12 boundaries in a top-scoring 67, and Manjural Islam went in identical fashion, both caught by wicketkeeper Kumar Sangakkara.
Sri Lanka, who declared on Tuesday on their overnight score of 541 for nine, set up their victory by scoring 509 on Monday — the most runs ever scored by a Test team in a day.
Muralitharan already held the test record for taking 10 wickets in a match, having overhauled Hadlee’s mark of nine at the start of the year.
Bangladesh’s problems, meanwhile, continue. They have now lost eight of their 12 Tests by an innings.
Bangladesh’s single draw came against Zimbabwe in Dhaka in November last year when, facing another innings defeat, they were saved when rain washed out the last two days.
BANGLADESH (1st innings) 161 (Muralitharan 5-39)
SRI LANKA (1st innings) 541-9 declared (A.de Silva 206, S.Jayasuriya 145, K.Sangakkara 75)
BANGLADESH (2nd innings)
A.Hannan Sarkar lbw b S.de Silva 1
Al-Sahariar c S’kara b M’tharan 67
Ehsanul Haque c B.F’do b D.F’do 5
H.Bashar b Muralitharan 34
A.Khan c S’kara b M’tharan 5
A.Islam c S’kara b M’tharan 0
K.Mashud c B.Fernando b A.de Silva 26
Enamul Haque b D.Fernando 22
M.Islam c S’kara b M’tharan 2
A.Kabir b S.de Silva 0
T.Jubair not out 5
EXTRAS (lb-5 nb-11 w-1) 17
TOTAL (all out) 184
FALL OF WKTS: 1-2 2-14 3-91 4-113 5-113 6-124 7-158 8-161 9-166
BOWLING: D.Fernando 11-4-24-2, S.de Silva 11-1-35-2, B.Fernando 7-2-34-0, Muralitharan 25-6-59-5, Jayasuriya 10-2-20-0, A.de Silva 2.3-1-7-1—Reuters