A rampant England ran through Sri Lanka’s top-order after wicketkeeper-batsman Ben Foakes hit a century on debut to guide the tourists to 342 in the first Test on Wednesday.
Foakes, who started day two on 87, quickly made a ton and was out for 107 as England’s first innings folded early in the opening session at Galle.
The hosts were tottering at 42-4 at lunch, with skipper Dinesh Chandimal on one and Angelo Mathews on three at the crease. Sri Lanka still trails England by 300 runs.
Fast bowlers James Anderson and Sam Curran removed the openers in quick succession to reduce Sri Lanka to 10-2 in 3.3 overs.
Anderson got Dimuth Karunaratne caught behind for four on the second delivery of the innings and Curran trapped Kaushal Silva for one in just his second over.
Jack Leach and Moeen Ali then spun into action to take a wicket each as the hosts wobbled on a turning Galle pitch notorious for low scores.
But the session belonged to Foakes, who after replacing injured Jonny Bairstow became the 20th English batsman to score a hundred in his first Test.
He reached the three-figure mark with a boundary off Suranga Lakmal, raising his bat to a standing ovation from the Galle crowd.
The right-handed batsman hit Lakmal for another four before the paceman got him caught out at extra cover.
Foakes, 25, revived England from a precarious 103-5 after electing to bat first on Tuesday as he batted sensibly during his 202 ball stay at the crease.
Off-spinner Dilruwan Perera took the wicket of overnight batsman Leach for 15 to register a five-wicket haul in a match that marks spin legend Rangana Herath’s swansong.