Dismissed shortly after tea, the home side would have been buoyed by an 11-over burst before the close that reduced Sri Lanka to 25-2 at stumps, but the star of the day was undoubtedly Muralitharan.
Playing his 101st Test match, the 33-year-old off spinner moved to within two wickets of becoming the second bowler after Australia's Shane Warne to claim 600 Test wickets when he ripped through the Bangladesh innings with figures of 5-79.
It was his 50th five-wicket haul.
Captain Habibul Bashar top-scored for the hosts with 69, while Javed Omar (35) and Mohammad Rafique (32) were the only other batsmen to get decent starts in a match Bangladesh need to win to square the two-Test series.
Resuming after the tea interval on 188-6, Bangladesh lost their four remaining wickets for the addition of just 46 runs as paceman Dilhara Fernando got in on the act with his first two wickets of the innings.
The other successful bowlers were Lasith Malinga, who finished with figures of 2-73, and Malinga Bandara (1-28).
Bangladesh elected to bat after winning the toss at the Shaheed Chandu Stadium and got off to a good start before the wickets began to tumble.
Openers Omar and Nafees Iqbal compiled an impressive opening partnership of 52 before Muralitharan trapped Iqbal lbw on 26 with the fourth ball of his first over.
He later trapped Omar in the same manner just prior to the lunch interval with the score on 85.
Bangladesh lost four wickets in the middle session, as only Bashar put up any sort of resistance before Muralitharan had him caught by Upul Tharanga.
Muralitharan then trapped Mushfiqur Rahim leg before for two runs and completed his five-wicket haul when he had Syed Rasel caught by Bandara to end Bangladesh's innings.
Forced to see out a tricky spell in fading light, Rasel bowled Sri Lanka opener Michael Vandort for a duck and Shahadat Hossain removed night-watchman Bandara for two to give Bangladesh a late boost on a day dominated by the tourists.
Sri Lanka lead the series 1-0 after scoring an eight-wicket victory in the first Test at Chittagong last week.