Sri Lanka enjoyed a profitable third day at The Oval, with the tourists in a strong position to win their final Test against England despite Jamie Smith's efforts.
The day started well for England. Dhananjaya de Silva (69) and Kamindu Mendis (64) had steered Sri Lanka into an excellent place at stumps on Saturday, though the duo did not last too long in Sunday's first session.
It took just 11 more overs for England to rattle through Sri Lanka's tail as they were bowled out for 263, 62 short of the hosts' first innings total.
Yet England were skittled out for 156 in the space of just 34 overs.
Dan Lawrence plundered 35 runs from as many balls, but he was the only player in England's top order to score more than 12, and it needed a flurry from wicketkeeper Smith to dig Brendan McCullum's team out of a real hole.
Smith smashed 67 from 50 deliveries, with his knock including 10 fours and one six, before he picked out Kusal Mendis with the final ball of the second session.
Lahiru Kumara (4-12) was the pick of Sri Lanka's bowlers, and he sent Olly Stone packing after tea, prior to Shoaib Bashir succumbing after debutant Josh Hull struck a huge six.
Chasing 219 to win, Sri Lanka's openers swiftly set about the pace, and though Dimuth Karunaratne was caught and bowled by Chris Woakes, Pathum Nissanka (53 not out) and Kusal Mendis (30) ensured the tourists will go into day four requiring just 125.
Data Debrief: England's Oval record on the rocks and Root is forced to wait
Sri Lanka are on the brink of just their fourth Test win in England, having previously won at Headingley, Trent Bride and The Oval, where England have won five of their last six five-day matches, only going down to India in 2021 in that run.
That record looks shaky, while Joe Root, having only managed 12 runs to add to his 13 from the first innings, will not be able to reach 1,000 overall in Tests in 2024 on home soil.
He is now on 986, but will have to wait until at least October, for England's Tour of Pakistan, to equal Alastair Cook as the English player to have hit 1,000 runs in a calendar year on the most occasions (five), after previously doing so in 2022, 2021, 2016 and 2015.