Pakistan were 162-7 in their first innings at tea on the second day in reply to the hosts' 279.
Muralitharan, who got a wicket with his second delivery in the morning session, bowled unchanged from one end and picked up three more in the afternoon to put the tourists under pressure.
He removed Mohammad Yousuf just after lunch when the batsman attempted to cut and then struck in successive overs to dismiss Faisal Iqbal and Abdul Razzaq.
Faisal misread a Muralitharan 'doosra' and was trapped leg-before while Razzaq was bowled trying to cut a delivery that was too close to his body.
Muralitharan got valuable support from seamers Farveez Maharoof and Nuwan Kulasekara who maintained a tight length from the other end.
Maharoof claimed the wicket of Younis Khan, who was caught at first slip by Thilan Samaraweera.
Pakistan suffered a major blow when captain Inzamam-ul-Haq was run out off a direct hit by substitute Chamara Kapugedara from square-leg when the batsman responded to a call for a quick single.
Former Sri Lankan captain Sanath Jayasuriya, who is playing his last Test match, was ruled out for the rest of the match with a finger injury sustained while taking a catch off Imran Farhat.