Late wickets swung the balance towards England and they need three more Sri Lanka scalps on Sunday to win the second Test and series. Set 301 to win in Pallekele, the Asians struggled initially against the spin of Jack Leach and slipped to 26-3 but they steadily improved and were slight favourites with the score on 221-5.
Related: Rashid Spins England To T20 Win
However, Moeen Ali removed Angelo Mathews for a superb 88 before Dilruwan Perera fell to Leach for two to leave the islanders on 226-7 and needing a further 75 runs to win on day five.
England added 22 runs to their overnight total with James Anderson the last man out for 12 leaving Ben Foakes unbeaten on 65 as the tourists made 346.
It meant that Sri Lanka would need to dig deep to get over the line but Leach’s strikes put them on the back foot.
Kaushal Silva (4), Dhananjaya de Silva (1) and Kusal Mendis (1) all went early before Dimuth Karunaratne (57) and Mathews stopped to rot.
There was further support down the order from Roshen Silva (37) and Niroshan Dickwella, who is unbeaten on 27 and will need to carry his bat to the end if the hosts are to get over the line.
Leach was the pick of the bowlers with 4-73 while Moeen claimed 2-65 and Adil Rashid 1-52.
Joe Root’s men are now favourites to wrap up the series on Sunday but will be wary of Dickwella who likes to get on with things and could take the game away from England in a hurry if he stays at the crease for any length of time.