Jonny Bairstow scored his first international century on home soil before James Anderson took five wickets as England put Sri Lanka to the sword, bowling the visitors out for just 91 and forcing them to follow on by the close of the second day of the first Test at Headingley.
The Asian side, who were one without loss in their second innings before stumps were called because of bad light, still face a deficit of 206 runs after the hosts made their way to 298 all out earlier in the day, with Bairstow scoring a brilliant 140.
Bairstow and Alex Hales resumed the second morning with the total on 171 for five and the two took their partnership for the sixth wicket to 141 before Hales went for a patient 86.
Moeen Ali (0) and Stuart Broad (2) did not hang around long but Steven Finn frustrated the Sri Lankans as he and Bairstow added 59 for the ninth wicket.
Finn took up 46 balls and batted for 72 minutes as he scored 17 before Bairstow was caught on the long-on boundary going for a big shot and Finn was last man out stumped by Dinesh Chandimal to give Rangana Herath his 299th Test wicket.
Sri Lanka's bowlers will be happy with the effort especially the younger members of the attack. The two 24-year-old's, Dasun Shanaka and Dushmantha Chameera, both picked up three wickets.
The visitors got off to terrible start in their innings as they were reduced to 12 for three before Chandimal and captain Angelo Mathews took Sri Lanka to the tea interval on 43 for three.
However it was after the break that things fell apart as Ben Stokes removed Chandimal (15) first ball after the interval and Anderson trapped Mathews (34) in front.
Anderson ran through the tail to finish with figures of five for 16 in 11.4 overs while Broad ended with four for 21 in 10 overs.