Cape Town - Captain Angelo Mathews refused to see Sri Lanka go down without a fight, as the second Test at The Riverside Ground in Chester-le-Street was pushed to a fourth day.
All out for a paltry 101 in response to England's first-innings total of 498 for nine declared, built on the back of batsman Moeen Ali's formidable 155 not out, the tourists' follow-on moved to 309 for five on Sunday.
While they still trail by a hefty 88 runs, Mathews' commanding vigil ensured the fixture will reach greater length than the series opener's three-day finish.
The veteran right-hander was eventually dismissed for 80 - the highest in a score that saw each and every one of the top seven batsman reach double figures, but fail to convert promising starts to innings of genuine substance.
Opening batsman Kaushal Silva, in particular, will be disappointed. He fought hard for a patient 60, collecting half a dozen boundaries throughout. His inability to get on top of a shorter delivery from the lanky Steven Finn, though, resulted in an easy catch for wicketkeeper Jonny Bairstow.
Fellow opener Dimuth Karunaratne, meanwhile, will lament his failure to successfully negotiate the nagging angles generated by the recalled Chris Woakes.
The England attack struck at relatively regular intervals, with spearhead James Anderson characteristically at the fore. Brimming with confidence after a match-winning 10-wicket haul in the first Test in Leeds, Anderson added two wickets to his three in the first innings to take his series tally to a superb 15.
Wicketkeeper-batsman Dinesh Chandimal and the resolute Milinda Siriwardana continued confidently after Mathews' departure, compiling an unbroken partnership with 54 not out and an unbeaten 35, respectively.
The duo, largely aided by all-rounder Rangana Herath and the tail-enders, will target a lead of at least 150 come Monday - and trust seamer Nuwan Pradeep and company can force an improbable victory.