Sri Lanka 196 and 53 for 2 (Karunaratne 23*, Stone 1-1, Atkinson 1-15) need a further 430 runs to beat England 427 and 251 (Root 103, Asitha 3-52, Kumara 3-53)
For the second time in three days at Lord's, it was all about Joe Root. England's batting bellwether continued a bumper Test match by producing twin tons for the first time in his storied career, his 34th century in the format setting new records for his country - and setting his team on their way towards what would be a series-sealing win.
England began the day in a position of comfort, 256 runs ahead with nine wickets standing, and Root allowed an expectant crowd to drink in the experience of a Lord's Saturday. If there was data on champagne corks popped, Root would probably set have another benchmark. As it was, his innings of 103 was garlanded by several entries in the record books: his seventh Test hundred the most by an individual at Lord's, as he surpassed Graham Gooch as the leading run-scorer on the ground. Alastair Cook's overall England run-scoring records is now less than 100 runs away.
This effort, coming from 111 balls, was also his fastest in the format. He reached the mark, in the company of the No. 10, Olly Stone, by swatting Lahiru Kumara's bouncer in front of deep point, amid a rising crescendo of "Roooooooot!" rolling around the ground. The next-highest score by one of his team-mates was Harry Brook's 37 off 36 balls.
With Sri Lanka asked to chase a target of 483, Root was at it again in the field - his two catches at first slip to remove Nishan Madushka and Pathum Nissanka making him the fourth man to take 200 in Tests. Rahul Dravid, the record-holder with 210, is very much in his sights.
That Sri Lanka finished the day only two down was in part due to an early finish brought about by bad light. A world-record target looked a long way off for a team short on batting confidence, though Dimuth Karunaratne survived being given out lbw to his third ball - a poor decision from Paul Reiffel overturned - to negotiate 90 minutes in the gloom after tea. He walked off in the company of "lightwatcher" Prabath Jayasuriya after England had been instructed to bowl their spinners for a second time, with Ollie Pope preferring to preserve the condition of the ball for Sunday.
Madushka was the first wicket to fall, edging Gus Atkinson to slip to continue a difficult first tour of England - having been replaced behind the stumps by Dinesh Chandimal on the third morning, he also dropped two catches in the field (although one still resulted in the dismissal of Ben Duckett, as Angelo Mathews snaffled the rebound). Nissanka survived on 2 when the faintest of under-edges to leg slip off Shoaib Bashir went undetected, only to be dismissed by a snorter in Olly Stone's first over as the light briefly improved enough to allow a return to pace.
England left the field at just after 5pm, content that there is plenty of time left for them to take the eight wickets required for a 2-0 lead in the series. Kamindu Mendis had held out the hope on the second evening that Sri Lanka could find a way back into the game if they could get England out for "under 150-175" - they gamely chipped out five wickets by that stage but couldn't prevent a Root march carrying the hosts to 251 and a seemingly impregnable position.
Root's reliability had allowed England to negotiate the morning session with few alarms, and the game continued to revolve around him after the interval. A nudge down the ground off Jayasuriya took him to fifty from 65 balls, and he began to push the tempo with three fours - two hauled through wide long-on, one delicately reverse-swept - in four balls.
Sri Lanka kept at it, Jayasuriya removing Jamie Smith lbw despite a review from the batter, before Chris Woakes flat-batted Milan Rathnayake to cover. Atkinson's dismissal, meanwhile, came in complete contrast to the elegant simplicity that characterised his maiden hundred in the first innings: caught behind the keeper at long-stop when top-edging a reverse-pull at Asitha Fernando. Matt Potts then gloved the same bowler behind but Stone hung in to get Root to his milestone.
Stone was caught at fine leg in the same over, and although England's approach had seemed to have a declaration in mind, they batted on. Root eventually gave Kumara a third wicket, top-edging a tired heave to deep-backward square leg, with tea taken early at the close of the innings.
England's batting effort was uneven, Root aside, reflective of their strong grip on the game. Three wickets went down during the morning session, including that of Pope, England's stand-in captain, who made his highest score while deputising for Ben Stokes but again fell in perplexing fashion, slashing an Asitha bouncer straight to deep backward point for 17, shortly after Sri Lanka had put four men back for the ploy.
The hosts resumed on 25 for 1, after Dan Lawrence's dismissal on the second evening, and Ben Duckett was the first to depart, thanks to an accidental piece of choreography between slip and gully. Rathnayake pitched the ball up from round the wicket, tempting the drive - and while Madushka could not hold on diving to his right, he managed to scoop the chance back towards Mathews for a regulation catch.
At the other end, Pope was looking to quell some of the noise around his batting. He moved into double-figures for the first time in the series with a clip off his legs, then survived a review for lbw against Rathnayake, with ball-tracking showing the ball would have cleared the stumps. But he did not last much longer, as Asitha targeted him from round the wicket.
The first of Root's four boundaries was a thick outside edge between slip and gully, but he was otherwise serene in progressing towards a third consecutive 50-plus score. Jayasuriya was picked off on the sweep and twice down the ground, though Root was initially happy to tick along at a strike rate in the 70s, allowing Brook and then Smith to play the aggressor.
Brook's intent during a half-century stand seemed to suggest that England were already thinking about the declaration. Brook was badly dropped on 9, Madushka making a mess of a skied slog-sweep at midwicket, then launched Jayasuriya's next delivery into the Tavern Stand to rub in the pain. Sri Lanka's spinner bore the brunt of the attack, but he had the satisfaction of removing Brook when another attempt to haul him leg side was safely held by Madushka in front of the rope.