Having been dismissed in the morning for 101 in their first innings to trail by 397 runs, Sri Lanka performed much better second time round to reach 309-5 by the close, still 88 runs adrift at Durham.
Captain Angelo Mathews led from the front with a combative 80, sharing a partnership of 82 with Kaushal Silva, who made 60. Dinesh Chandimal remained unbeaten on 54 at the close.
For Sri Lanka to even reach this far represents an improvement on the first test, which they lost inside three days by an innings and 88 runs, but the tourists did not do enough to banish the impression that this three-test series is a mismatch.
England’s formidable attack took just 17 minutes to take the remaining first-innings wickets in the morning.
The total represented another dismal Sri Lankan performance to set alongside their first-test efforts of 91 and 119 – the first time since 1958 that a test team had been bowled out for under 120 in three consecutive innings.
A different approach was required in the second innings and for once the batsmen did not disappoint.
A breezy 26 from Dimuth Karunaratne set the tone as, together with Silva, the openers put on 38 before Chris Woakes pushed a ball across the left-hander who edged a catch to Joe Root.
Kusal Mendis picked up the pace with three boundaries in five balls from Jimmy Anderson to also reach 26 but paid a heavy price when the Lancashire paceman responded with a full-length ball that was skied to keeper Jonny Bairstow.
Lahiru Thirimanne, who began the day at the crease in the first innings, returned to be dismissed for a second time, this time for 13 after falling to a beautiful ball from Moeen Ali that drew him into the shot before clipping his stumps.
That wicket brought Silva and Mathews together and the pair pushed the tourists’ innings towards respectability before Steven Finn finally found some rhythm to have Silva caught behind.
Sri Lanka have constantly struggled against the moving ball outside off stump and Bairstow also accounted for Mathews with his seventh catch of the match from a quality Anderson outswinger.
Chandimal represented Sri Lanka’s last hope and he kept the scoreboard ticking over to record his 11th half-century, seeing off the new ball late on with Milinda Siriwadana (35) to leave England with work to do on Monday.