Skipper Joe Root scored his second successive Test century as England reached 181 for four at lunch after Sri Lanka struck early blows on day three of the second Test on Sunday.
Root, who hit a match-winning 228 in the first Test and started the day on his overnight 67, completed his 19th Test century in his 99th Test.
He was batting on 105 alongside wicketkeeper-batsman Jos Buttler, on 30, with the tourists still trailing by 200 in response to Sri Lanka’s 381.
Left-arm spinner Lasith Embuldeniya claimed all the four wickets and dismissed Jonny Bairstow early in the day to break a 111-run third-wicket stand in Galle.
Bairstow, who added just four more to his overnight 24, was given not out by the umpire but Sri Lanka successfully reviewed the call as replays suggested the ball had grazed the bat before hitting the pad and being caught second slip.
Dan Lawrence, who survived a missed stumping by wicketkeeper Niroshan Dickwella, could not capitalise on the slip as he soon fell for three.
Root stood firm and put on 49 runs with Buttler to rebuild the innings and take the attack to the opposition.
Root reached his hundred with a single off Dilruwan Perera as he raised the bat to an applauding dressing room and a lone England fan standing at the ramparts of an old fort overlooking the picturesque ground.
Buttler survived a scare after being given out caught by the onfield umpire but he reviewed the decision and replays showed that the batsman had hit his boot and ground.
fk/dh