Ryan Sidebottom claimed two early wickets with the new ball as Sri Lanka struggled 25-2 in reply to England's 351 all out on the second day of the second Test on Monday.
Sidebottom found some swing early on and found the outside of both Upul Tharanga (10) and the in-form Kumar Sangakkara (one) to give England the upper hand at tea.
Opener Michael Vandort was 10 not out at the break and Mahela Jayawardene was on three.
Earlier, wicket-keeper Matthew Prior scored 79 from 130 balls with nine boundaries as England added 93 runs to their overnight score before being bowled out in the first hour after lunch.
Spinner Muttiah Muralitharan polished off the tail in quick succession to finish with 5 for 116 from 47.2 overs.
England, resuming on 258-5, lost the wickets of Paul Collingwood (52) and Stuart Broad (two) when they added 69 runs during the two-hour morning session.
Chaminda Vaas broke through in the first hour when he followed a series of leg-cutters with a full-length inswinger that Collingwood left alone and was adjudged lbw.
Soon after, Lasith Malinga trapped debutant Stuart Broad with another inswinger.
After Kevin Pietersen's disputed catch on day one, there was further controversy surrounding the use of technology in the game. Just before lunch, umpire Daryl Harper had to refer a slip catch off Sidebottom to the third umpire Gamini Silva.
Although the catch appeared to taken cleanly by Mahela Jayawardene diving forward at slip, Silva ruled not out on the basis that he was not sure if the ball had brushed the glove as Sidebottom took evasive action.
Prior and Sidebottom extended their useful eighth-wicket partnership to 74 before Muralitharan had Sidebottom caught at slip.
Steve Harmison top-edged a sweep first ball to be caught by Chamara Silva and Prior was last man out as he was caught and bowled.
Malinga finished with 3-78 from 24 overs and Vaas finished with 2-68 from 32 overs.
Fast bowler Stuart Broad was warned twice for running on the pitch during Sri Lanka's innings.