Sri Lanka pushed England to the brink of World Cup elimination on Thursday when they handed the defending champions an eight-wicket thrashing.
It was a second win in five games for the Sri Lankans.
However, England now have four defeats and just one victory and need to win their remaining four matches to maintain their slender hope of sneaking into the semi-finals.
Chasing just 157 to win, Sri Lanka reached 160-2 with 146 balls to spare thanks to in-form Pathum Nissanka and Sadeera Samarawickrama.
Nissanka hit an undefeated 77, his fourth successive fifty at the tournament, off 83 balls with seven fours and two sixes, the second of which ended the contest when he launched Adil Rashid over long-on.
Samarawickrama was 65* from 54 balls with seven fours and a six to follow the 108 he made against Pakistan and 91 in the win over the Netherlands.
Earlier Ben Stokes top-scored for England with 43 but even he was unable to perform one of his trademark rescue missions as Sri Lanka ripped through their rivals in just 33.2 overs.
England, who won the toss and chose to bat, started briskly, reaching 45-0 by the seventh over before veteran all-rounder Angelo Mathews struck.
Former captain Mathews, who was called up to replace the injured Matheesha Pathirana after initially being left out of the 15-man squad, is appearing in his fourth World Cup.
The 36-year-old, bowling in an ODI for the first time since March 2020, had Dawid Malan caught behind after the opener had made 28.
Mathews also effected the run-out of Joe Root (three) before also claiming the wicket of the recalled Moeen Ali (15).
In between, opener Jonny Bairstow became Kasun Rajitha’s first wicket of the match after making 30 off 31 balls.
Captain Jos Buttler, on eight runs, and the returning Liam Livingstone, with just one run to his name, fell to fast bowler Lahiru Kumara.
Chris Woakes’ dismal World Cup continued when he fell to Rajitha for nought leaving England on 123-7 in the 26th over.
Woakes had been dropped for the 229-run rout at the hands of South Africa but his return was over in four balls with Sadeera Samarawickrama just clinging onto a low catch at point.
Stokes, at the non-striker’s end, suggested that the catch was not clean but the batsman was given out on review.
Once Woakes was gone, England’s hopes rested on Stokes but he fell for 43 when he holed out to substitute fielder Dushan Hemantha off Kumara.
Stokes’ runs came off 73 balls with six fours as England slumped to 137-8.
Adil Rashid was run out in comical fashion when wicketkeeper Kusal Mendis spotted he had wandered too far down the wicket.
Spinner Maheesh Theekshana finished things off by having Mark Wood stumped for five.
© Agence France-Presse
Photo: Gareth Copley/Getty Images