Joe Root was holding England's innings together while closing in on his 33rd test century as Sri Lanka made further inroads before tea on day one of the second match at Lord's on Thursday.
England was 200-5 at the end of the second session, with Root on 81 and in the middle with allrounder Chris Woakes (6 not out) with only the tail to come.
Harry Brook (33) and Jamie Smith (21) were the batters to depart after lunch as Sri Lanka continued to prosper after putting England in on a glorious day at the home of cricket in northwest London.
Brook was trapped lbw by seamer Asitha Fernando and Smith feathered behind off Milan Rathnayake.
Root, who anchored England to victory in the first test in Manchester last week, was set after going past fifty for the 97th time in tests. Only Sachin Tendulkar (119), Jacques Kallis (103), Ricky Ponting (103) and Rahul Dravid (99) have done so more times.
England was its own worst enemy before lunch.
While probing bowling by recalled pacer Lahiru Kumara accounted for Dan Lawrence nicking behind for 9, stand-in captain Ollie Pope and Ben Duckett will feel an element of regret after choosing the wrong shot and getting themselves out.
Pope (1) got cramped up after opting to pull Fernando and misjudged his shot that looped up into the hands of Sri Lanka captain Dhananjaya de Silva running to square leg.
That made it 42-2, and it was 82-3 when Duckett (40) top-edged a reverse sweep off the fourth ball of spinner Prabath Jayasuriya’s first over and was caught near the boundary by Kumara.
Sri Lanka’s bowling attack was offering more penetration than in the five-wicket loss at Old Trafford.