A chanceless unbeaten 134 from Kumar Sangakkara inspired Sri Lanka to a seven-wicket win over an overly cautious England on Thursday to leave Champions Trophy Group A wide open ahead of the final two matches.
A victory in the day/night clash would have taken England through to the semi-finals as one of the top two and defeat would have dumped Sri Lanka out but all is now to play for with New Zealand leading the group on three points.
England, who next face New Zealand in Cardiff on Sunday, and Sri Lanka are on two points with Australia on one ahead of their meeting with Angelo Mathews' side at the Oval on Monday.
Number three Sangakkara paced himself perfectly to notch his 15th one-day international ton under constantly overcast skies.
England's batsmen earlier took their time in trademark style before some last-over fireworks by Ravi Bopara helped them make 293 for seven amid woeful Sri Lankan fielding.
The tournament hosts have been criticised by commentators for their recent ponderous batting in the 50-over format but still beat Australia by 48 runs in their opening game.
This time they managed only 38 runs in the first 10-over powerplay when sides such as India, who have already reached the last four from Group B, have notched in excess of 60.
England are confident of defending totals around 270 despite 325 now being very possible in the explosive modern one-day game and it looked like they would make only a decent score before Bopara (33 not out) blasted 28 off Shaminda Eranga's final over.
His cameo, which brought an almost shivering crowd to life amid the chilly temperatures and constant breeze, included the only three sixes of the innings but proved not to be enough.
England's Alastair Cook and Jonathan Trott again summed up their patient but at times laborious one-day approach with Cook scoring 59 off 85 balls and Trott 76 off 87 before both were out lbw to Rangana Herath when sweeping.
Tillakaratne Dilshan dropped three catches and wicketkeeper Sangakkara spilled another before redeeming himself handsomely.
Joe Root, in the headlines after being hit by suspended Australia batsman David Warner in a bar, upped the tempo with 68 off 55 before Lasith Malinga took two wickets in two balls and Bopara then silenced some of his constant critics.
Sri Lanka began their reply with more urgency than England, scoring 10 more runs at the 10-over mark and Dilshan (44) hitting their first six in the 15th over off the innocuous off-breaks of Root, who proved expensive.
The raft of flag-waving Sri Lankans inside the almost full Oval gave the impression of a home match for the south Asians despite even colder conditions as the London gloom descended.
Sangakkara never looked in danger but controlled bowling from medium pacer Bopara and returning spinner Graeme Swann helped keep a lid on Sri Lanka's attacking tendencies and by halfway the required run rate had crept up to seven an over.
Loose bowling from Stuart Broad allowed them to retake the initiative however and Mahela Jayawardene began to dispatch all of the bowlers around the ground before holing out to sub Jonny Bairstow off James Anderson for 42.
Sangakkara guided Sri Lanka home with 17 balls to spare with the help of bludgeoning all-rounder Nuwan Kulasekara (58 off 38), who was brought back into the side and promoted up the order.