Off-spinner Dom Bess claimed five wickets to help bowl out Sri Lanka for 135 and give England the advantage on day one of a Test that took 10 months to start on Thursday.
Bess, who returned figures of 5-30, combined with paceman Stuart Broad, who took three wickets, as Sri Lanka were all out in two sessions as the two-Test series resumed in Galle after the original tour was aborted over the coronavirus in March.
England lost their openers early but skipper Joe Root, on 66, and Jonny Bairstow, on 47, steered the tourists to 127 for two at close of play. They still trail Sri Lanka by eight runs.
The batting duo put on an unbeaten partnership of 110 after Dom Sibley, for four, and Zak Crawley, for nine, fell to Lasith Embuldeniya’s left-arm spin.
Root, who successfully reviewed an lbw call in his favour after being given out by the on-field umpire on 20, reached his 50th fifty in 98 Tests. He has 17 centuries.
Bess though remained the hero of the day with his second five-wicket haul in his 11th Test as the venue witnessed its lowest first-innings score, well below Sri Lanka’s 181 against Pakistan in 2000.
Sri Lanka suffered a pre-match jolt when skipper Dimuth Karunaratne was ruled out of the first of the two Tests with a fractured thumb.
Stand-in-captain Dinesh Chandimal scored 28 and put up some resistance in a 56-run stand with Angelo Mathews, who made 27 on his return from a hamstring injury.
Broad struck twice in an over to send back opener Lahiru Thirimanne, who had scored four, and Kusal Mendis for nought - his fourth straight duck - to spell early trouble for the hosts.
Spin was introduced in the 11th over and Bess, with his second ball, got Kusal Perera for 20 when the batsman top-edged a reverse sweep to England captain Joe Root at first slip.
Sri Lanka had slumped to 25 for three but Mathews and Chandimal stood firm till lunch.
Broad came back in the second session to break the stand as he got Mathews caught at slip and Chandimal, who survived a dropped catch by debutant Dan Lawrence before lunch on 22, departed two balls later off Jack Leach.
Mathews, whose hamstring injury kept him out of the 2-0 Test series defeat in South Africa, went past 6,000 Test runs during his knock before Bess soon ran through the middle and lower order.
In reply, the tourists slipped to 17 for two after Sibley was caught at first slip and Crawley also back in the pavilion inside nine overs.
Root and Bairstow then batted cautiously to bring up England’s best partnership for all wickets at the venue.
The game is being played behind closed doors.