The tourists, needing to bat out the day for a draw after being set an improbable victory target of 350, collapsed to 125-5 in their second innings by lunch at the Asgiriya stadium.
England lost four wickets in the extended two-and-a-half hour morning session after resuming at their overnight score of 9-1.
The top batsmen escaped the wiles of off-spinner Muttiah Muralitharan, who became Test cricket's leading wicket-taker on Monday, as the seam bowlers did the early damage.
Veteran left-armer Chaminda Vaas, playing his 100th Test, took the first three wickets of the innings, while Dilhara Fernando chipped in with two.
England's hopes of salvaging a draw rest on the unbeaten pair of Ian Bell and debutant Ravi Bopara, who have so far put on 35 for the sixth wicket.
The highest fourth innings total achieved at the Asgiriya stadium to win a Test was 264-3 by India in 2001.
Four years ago, Michael Vaughan's men made 285-7 to draw the Test here after being set a target of 368, but a repeat appeared unlikely.
Vaas, who dismissed opener Alastair Cook on Tuesday evening, put England on the back foot by removing captain Vaughan in the morning's fourth over.
Vaughan groped for 25 balls to score five when he failed to take his bat out of harm's way and edged the outswinger to wicket-keeper Prasanna Jayawardene.
In his next over, Vaas bowled nightwatchman James Anderson for 11 as England slipped to 27-3.
Kevin Pietersen showed no discomfort from a broken finger in his right hand, sustained while batting in the first innings, as he attacked from the start with four superbly-timed boundaries.
Pietersen hit Lasith Malinga to the straight field, drove Vaas through the covers and then welcomed Fernando with two consecutive fours.
Fernando, however, had the last laugh as Pietersen edged a ball that kept low on to his stumps and departed for 18.
Fernando, the third seamer in the home team after Vaas and Malinga, claimed his second wicket soon after when Paul Collingwood (16) failed to keep a cover drive down and was snapped up by Kumar Sangakkara.