Adil Rashid recorded his second five-wicket Test haul to help bowl Sri Lanka out for 240 and put England in control of the third Test. After England added just 24 runs to their overnight score of 312-7, the hosts suffered an early loss when Keaton Jennings produced another superb catch at short leg to dismiss Danushka Gunathilaka for 18 off the bowling of Jack Leach.
England captain Joe Root then dropped Dimuth Karunaratne on 2 and Dhananjaya de Silva on 42 – both from Stuart Broad deliveries – and those missed chances proved costly as the duo both made half-centuries in a stand of 142, the highest partnership of the series for either side.
Sri Lanka were in a dominant position on 173-1 but, after tea, a huge collapse came out of nowhere as they lost nine wickets for just 67 runs to end their innings on 240, still trailing by 96 runs.
Rashid was the key cog for England as he finished with figures of 5-49 – dismissing Karunaratne (83), De Silva (73), Kusal Mendis (27), Roshen Silva (3) and Malinda Pushpakumara (13) – whilst also running out Lakshan Sandakan (2).
All-rounder Ben Stokes ended with figures of 3-30 after getting rid of Angelo Mathews (5), Niroshan Dickwella (5) and Dilruwan Perera (0), and the tourists will be hoping to set a sizeable target as they look to complete a series whitewash.
England openers Rory Burns and Jennings survived four overs late in the day to reach stumps on 3-0, giving the tourists a lead of 99 runs.