England, replying to Sri Lanka's 382 after five wickets from Ashely Giles, lost four wickets for 30 runs either side of tea to close on 163 for four, still 219 adrift.
Graham Thorpe (20 not out) and Paul Collingwood (19 not out) halted England's slide, scratching out an unbroken stand of 44 in just under one-and-a-half hours on Thursday.
Muralitharan, who earlier accused Nasser Hussain of verbal abuse and who also got involved in a bizarre incident at the end of the Sri Lankan innings, took two for 28 from 16 overs.
The complaint against Hussain -- Sri Lankan team sources said Muralitharan had complained of being called a "cheat and a chucker" while batting -- was being considered by match referee Clive Lloyd.
Muralitharan put the brakes on the English reply after a thundering start by Marcus Trescothick (36) and Michael Vaughan (52) as 89 runs came off the opening 18 overs.
Trescothick, though, was then caught by a diving Tillakaratne Dilshan at bat-pad off the last ball of the afternoon session.
After tea, Mark Butcher (4) started with a confident boundary before being drawn down the pitch and stumped by Kumar Sangakkara off Kumar Dharmasena.
Vaughan reached his half-century with a well-timed sweep but was then deceived by Muralitharan's "doosra", spinning away from the right-hander, and was brilliantly snapped by Mahela Jayawardene at slip after the ball brushed the wicketkeeper's gloves.
Hussain, who missed the first Test with flu, was trapped lbw next over as Hashan Tillakaratne called back left-armer Chaminda Vaas.
Sri Lanka, resuming on 277 for seven, had lost Hashan Tillakaratne with only one run added in the morning before the last two wickets added 104.
Tillakaratne, on 45, was caught on the long leg fence trying to hook a short ball from Andrew Flintoff in the fourth over of the morning.
Dinusha Fernando, a 24-year-old seamer playing in his second match, then hit 51 not out from 104 balls.
He added 76 with Kumar Dharmasena (29) for the ninth wicket and Muralitharan (19) provided further annoyance, slapping two fours and a snow-coated six, as a further 28 were added.
The innings ended in confusion as Muralitharan was bowled by Giles.
Umpires Aleem Dar and Darryl Harper, however, failed to see the ball clip the top of the off stump and initially ruled the batsman not out, a decision that prompted heckling from English supporters.
After a short conference, with Vaughan joining in, the umpires signalled for television assistance. Clive Lloyd argued that they "knew something was wrong" and sensibly use "common sense". He denied suggestions that the umpires had been pressured into taking action by Vaughan.
Giles was England's most successful bowler for the third innings running, with five for 116 from 37.4 overs, his third five-wicket haul in Tests.
Scorecard
Sri Lanka first innings (overnight 277-7)
M.Atapattu lbw Kirtley 11
S.Jayasuriya c Read b Giles 32
K.Sangakarra run out 34
M.Jayawardene c Kirtley b Giles 45
T.Dilshan c Trescothick b Flintoff 63
H.Tillakaratne c Butcher b Flintoff 45
T.Samaraweera lbw Giles 3
C.Vaas lbw Kirtley 32
K.Dharmasena lbw Giles 29
D.Fernando not out 51
M.Muralitharan b Giles 19
Extras (b-1 lb-15 nb-2) 18
Total (all out, 126.4 overs) 382
Fall of wickets: 1-20 2-76 3-84 4-187 5-201 6-206 7-270 8-278 9-354
Bowling: Kirtley 33-10-109-2 (nb-2), Flintoff 24-5-60-2, Giles 37.4-7-116-5, Collingwood 9-3-13-0, Batty 18-3-59-0, Vaughan 5-0-9-0.
England first innings
M.Trescothick c Dilshan b Muralitharan 36
M.Vaughan c Jayawardene b Muralitharan 52
M.Butcher st Sangakkara b Dharmasena 4
N.Hussain lbw Vaas 10
G.Thorpe not out 20
P.Collingwood not out 19
Extras (b-8 lb-7 nb-7) 22
Total (for four wickets, 51 overs) 163
Fall of wickets: 1-89 2-100 3-119 4-119
To bat: A.Flintoff, A.Giles, G.Batty, J.Kirtley, C.Read
Bowling: Vaas 11-3-33-1, Fernando 5-0-31-0 (5-nb), Dharmasena 12-2-42-1 (2-nb), Muralitharan 16-6-28-2, Jayasuriya 7-0-14-0