Wellington: Thirimanne and Sangakkara centuries to help Sri Lanka as Sri Lanka comfortably chased 310 to win by nine wickets in Wellington on Sunday.
Lahiru Thirimanne hit an unbeaten 139 and Kumar Sangakkara 117 not out to seal victory with 16 balls to spare.
Earlier, Joe Root hit 121 as England accelerated late on to post 309-6.
They must almost certainly win their last two Pool A games, against Bangladesh and Afghanistan, to reach the quarter-finals.
Thirimanne and Sangakkara added an unbroken 212 as Sri Lanka claimed a third straight win to move to within two points of New Zealand at the top of Pool A.
This was only the second time in one-day internationals that a team have lost by nine wickets after passing 300 in the first innings.
Sangakkara's century, his second in succession and the joint fifth quickest in World Cups - off 70 balls - took him into third place in the list of all-time leading World Cup run scorers.
Earlier, Joe Root anchored England's 309 for six. The 24-year-old, who top-scored with 46 in England's humiliating eight-wicket loss at the same ground to New Zealand on Feb. 20, produced his highest one-day score of 121 before he was trapped in front by Rangana Herath in the 47th over.
He was also involved in a 60-run partnership with captain Eoin Morgan (27) and a stand of 98 with James Taylor (25).
He took control of England's innings after Morgan, who had won the toss and chosen to bat, was dismissed just three balls short of the batting power-play.
Taylor and Root however, ensured England did not lose too much momentum and that Sri Lanka would face a daunting victory target.
Ian Bell and Moeen Ali got England off to a flying start as they raced to 50 in the seventh over but the introduction of slower bowlers by Mathews clamped down the scoring rate.
Bell had his share of luck and was dropped at least three times, twice in the covers in one over from Suranga Lakmal, before he chopped a Lakmal delivery on to be third out at 49, reducing England to 101 for three with 30 overs remaining.
England's middle order took over, however, with Root, Morgan and Taylor batting sensibly by rotating the strike before Root and Taylor fell in the final five overs.
Wicketkeeper Jos Buttler (39 not out) and Chris Woakes (nine) pushed the total past 300.
England - 309/6 (Root 121, Bell 49)
Sri Lanka - 312/1 (Thirimanne 139*, Sangakkara 117)
Result - Sri Lanka won by 9 wickets
Points - Sri Lanka 2, England 0
MOM - Kumar Sangakkara (Sri Lanka)