Wellington - England captain Eoin Morgan has admitted his side had been "punished" by a rampant Sri Lanka on Sunday in a nine-wicket loss that left them on the brink of World Cup elimination.
Sri Lanka chased down a target of 310 with 16 balls to spare as Lahiru Thirimanne struck an undefeated 139 while Kumar Sangakkara was unbeaten on 117, the pair putting on 212 for the second wicket.
Joe Root had hit 121 off 108 balls as England made 309 for six in the Pool A match at Wellington's Westpac Stadium.
Sri Lanka are now on the verge of the quarter-finals after three wins in four games while England's tally of two points means their last-eight hopes are hanging by a thread.
"We were punished today by a very experienced side. We were way off the mark," said Morgan, who has overseen defeats by Australia, New Zealand and now Sri Lanka with just one win, against non-Test Scotland, to show for England's efforts at this tournament.
"When we are bowling well, it's a good attack but you can pick it apart when we're not bowling well and we didn't bowl well."
Morgan's premier seamers James Anderson and Stuart Broad went for none for 48 and none for 67 respectively.
In four matches, Anderson and Broad have only taken two wickets each.
"At 'half-time' we went in thinking we had a more than par score," said Morgan.
"Joe Root was exceptional -- it sums up the year he's had. I was happy at half time."
Sri Lanka skipper Angelo Mathews, whose team have beaten England, Afghanistan and Bangladesh while losing to New Zealand, praised his century-makers.
"I thought 310 was a bit too much but it was a brilliant partnership by Sangakkara and Thirimanne. We knew we could chase 300 but they were two of the best knocks we've ever seen," said Mathews.
"If the bowlers fail, the batters need to step up and get us a win and the top four have really been great in these last few days. Not many teams have chased 300 in this World Cup but it was a great performance."
For Sangakkara, it was his second successive century at the World Cup after the 37-year-old marked his 400th one-day international with 105 not out against Bangladesh.
"The wicket was pretty good and everything I tried came off. But the openers had a great start and that was an exceptional innings by Thirimanne," said Sangakkara.
"It was a case of batting and batting long. Chasing 300 is always an imposing target but there are days like this when the batting side has to work hard. I'm getting old, but I'm still enjoying it."