Both bowlers finished with four wickets each as Bangladesh, resuming their second innings at 233-5, were shot out for 254 within 30 minutes of the start of the fourth day's play at the Sinhalese Sports Club.
It was Sri Lanka's biggest victory over Bangladesh, surpassing the innings and 196-run win at the P. Sara stadium here in 2002.
Sri Lanka have now won all their eight Test matches against Bangladesh, five of them by an innings.
The Sri Lankans have been so dominant against the Test minnows that they have never required a fifth day to secure victory. Four of the Tests have ended inside three days and the remaining four with a day to spare.
It was Bangladesh's 41st defeat in 47 matches since they gained Test status in 2000 with a lone win coming against struggling Zimbabwe. Five games have been drawn.
Fast bowler Malinga took three of the last five wickets and off-spinner Muralitharan claimed the other two as Sri Lanka made short work of Bangladesh on the fourth morning.
The tourists, who were bowled out for 89 in the first innings but batted bravely the second time to reach 227-3 at one stage, undid the good work by losing the last seven wickets for 27 runs.
Bangladesh's new captain Mohammad Ashraful admitted his side needed to bat better if it was to succeed in Test cricket.
"We need to show patience in Test cricket," said the 22-year-old, who was himself guilty of playing irresponsible lofted shots in both innings.
"We may not have done well in the first innings, but the top order responded very well in the second. We lose concentration at crucial moments of the game.
"We need to have the temperament and patience to bat longer in the five-day game."
Sri Lankan captain Mahela Jayawardene said he was delighted by the big win.
"We have played good cricket over the last few years and it was good to continue in the same way," he said. "The team is improving all the time."
Muralitharan, who took 5-15 in the first innings, now has 59 wickets in seven Tests against Bangladesh.
The 35-year-old's career tally stands at 683, just 25 away from equalling retired Australian leg-spinner Shane Warne's world record of 708 wickets.
Sri Lanka struck with the day's 10th delivery when Malinga yorked Khaled Mashud for one after Bangladesh had added five runs to their overnight score.
Mashrafe Mortaza hit two boundaries in his nine before he became Muralitharan's third victim, trapped leg-before after being deceived by a slower one.
Malinga dismissed Shakib-Al Hasan and Mohammad Rafique in one over before Muralitharan sealed Sri Lanka's win by having Shahadat Hossain stumped.
The second Test starts at the P.Sara stadium in the Sri Lankan capital on Tuesday.