The off-spinner grabbed 5-48 -- his 66th haul of five or more wickets in a Test innings -- as Bangladesh crashed to 177-9 in their first innings at stumps on the second day in reply to Sri Lanka's 293.
Opener Imrul Kayes top-scored with 33 in an inconsistent Bangladeshi batting performance. Junaid Siddique (29), Mehrab Hossain (29) and Shakib Al Hasan (26) also got starts, but failed to convert them into big knocks.
Muralitharan was superbly backed by left-arm seamer Chaminda Vaas, who took two wickets in his four overs to finish with 2-33. Left-arm spinner Rangana Herath and Dammika Prasad each bagged one wicket.
Sri Lanka were bowled out on the stroke of lunch after resuming at 172-6, with middle-order batsman Thilan Samaraweera scoring a solid 90.
Muralitharan struck with his second delivery when he had Tamim Iqbal (17) caught by a diving Malinda Warnapura at short-leg and then bowled Siddique in the last over before the tea-break.
He was on a hat-trick in the final se