The prolific off-spinner's 58th haul of five or more in an innings took him to 679 career wickets, just 30 away from surpassing retired Australian Shane Warne's world record of 708.
Bangladesh, sent in to bat by Sri Lankan captain Mahela Jayawardene, folded up for their third lowest Test total in just 32.3 overs an hour after lunch at the Sinhalese Sport Club here.
Sri Lanka were 71-2 in reply at tea after seamer Shahadat Hossain caused a flutter by removing debutant Malinda Warnapura for zero and Kumar Sangakkara for six in his first two overs.
Jayawardene, caught off a Hossain no-ball when on 17, was unbeaten at the break on 32. Michael Vandort kept his skipper company on 23.
Muralitharan, who claimed 50 wickets in six previous Tests against Bangladesh, once again ripped through the tourists' line-up after the seamers did the early damage.
Dilhara Fernando took 3-33 and Chaminda Vaas and Lasith Malinga shared the remaining two as Bangladesh collapsed to 64-7 by lunch in overcast conditions.
Bangladesh were in danger of falling short of their lowest Test totals -- 86 against Sri Lanka and 87 against the West Indies -- when they further slumped to 69-8 early in the post-lunch session.
Khaled Mashud (12 not out) and Mohammad Rafique (11) took them to 85, before last man Abdur Razzak drove Muralitharan through the covers for a boundary to prevent a new low by his team.
Shakib-Al Hasan's 16 was the top score as the Bangladeshis, who have lost all their seven previous Tests against Sri Lanka, struggled against both pace and spin.
The top five batsmen, including new captain Mohammad Ashraful, were back in the pavilion with just 50 runs on the board.
Openers Javed Omar and Shahriar Nafees put on 28 by the eighth over when both fell before another run had been added.
Fernando claimed former captain Habibul Bashar for two and then trapped the 22-year-old Ashraful in a well-executed plan.
Ashraful pounced on a short delivery and hooked to deep square-leg where Warnapura was pefectly placed to take the skier.
Ashraful, the only Bangladesh batsman to score two centuries against the Sri Lankans, made seven.
Muralitharan, who was introduced in the 18th over, struck with his fifth delivery and then took wickets at regular intervals to complete Bangladesh's misery.
The hosts left the wicket-keeper's duties to Prasanna Jayawardene as regular stumper Sangakkara took the field as one of seven specialist batsmen in the side.
Bangladesh play three Tests and as many one-dayers on the five-week tour.