England are six wickets away from a historic 3-0 whitewash of Sri Lanka after reducing the hosts to 54-4 at stumps on day three of the third Test at Sinhalese Sports Club on Sunday.
Having set the hosts an improbable target of 327, England bowlers ran through the Sri Lankan top order.
Off-spinner Moeen Ali, who shared the new ball with Stuart Broad, dismissed both openers.
Danushka Gunathilaka (6) was caught at first slip by Ben Stokes while Dimuth Karunaratne was clean bowled for 23.
Jack Leach claimed a wicket in his third ball of the innings when he dismissed first-innings half-centurion Dhananjaya de Silva for no score.
Ben Stokes dismissed Angelo Mathews with a short ball having got him out in the same fashion in the first innings. Mathews pulled a delivery without control and Broad at short mid-wicket took a terrific diving catch.
Sri Lanka were ruing the dismissal of their premier batsman with four balls left to the close of play.
England, who had a first innings lead of 96 runs, made 230 all out in their second innings.
England had a poor start, losing four wickets for 39 in the first hour of the morning session before Jos Buttler and Ben Stokes staged a recovery.
Buttler top scored with 64 runs having successfully reviewed after being given out leg before wicket when on 27.
Stokes, who was twice dismissed off no-balls by Lakshan Sandakan for overstepping the line went on to post 42 runs.
Stokes and Buttler shared an 89-run partnership for the fifth wicket.
Wicketkeeper-batsman Ben Foakes, who added 44 for the eighth wicket with Adil Rashid (24), was unbeaten on 36.
Foakes playing in his debut series made significant contributions finishing with 277 runs in six innings at an average of 69, the most by a batsman from either side.
Dilruwan Perera finished with a five-wicket haul, his eighth in Test cricket.
England won the first Test by 211 runs and sealed the series at Pallekele with a 57-run win. It was their first win in Sri Lanka in 17 years.
England are closing on a 3-0 series sweep. Only two other teams — Australia in 2004 and India in 2017 — had achieved the milestone in Sri Lanka.