Sri Lanka pushed dismal 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 1996 champions Sri Lanka.
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 not out 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.
"It's incredibly tough, an incredibly disappointing tournament. As captain, you feel that a lot," said England skipper Jos Buttler.
"We've been short of our best by a very long way. I'm disappointed for myself and the boys that we've not given a good account of ourselves."
He added: "There's no clear answer. If there was one golden nugget that we're not doing then we'd pick that up."
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 skipper 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 returns -
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.
Buttler, on eight runs, and the returning Liam Livingstone, with just one to his name, fell to fast bowler Lahiru Kumara, the man-of-the-match.
"I'm very happy with my performance, I've worked really hard for it," said Kumara.
"Angelo has a lot of experience. It was really great to have him back."
Chris Woakes's 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 just 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's runs came off 73 balls with six fours as England slumped to 137-8.
Rashid was run out in comical fashion when wicket-keeper Kusal Mendis spotted he had wandered too far down the wicket.
Spinner Maheesh Theekshana finished things off by having Mark Wood stumped for five.
dj/gj