England's Champions Trophy hopes hang in the balance after Kumar Sangakkara's imperious century led Sri Lanka to a seven-wicket victory at The Oval.
Sangakkara's unbeaten 134, aided by a 30-ball half-century from Nuwan Kulasekara, took Sri Lanka to their target of 294 with 17 balls to spare.
Earlier, fifties from Alastair Cook, Jonathan Trott and Joe Root - on the day he received a public apology for being punched by David Warner - seemed to have England well placed on a good batting wicket.
But Sangakkara's chanceless knock means Cook's side must beat New Zealand at Cardiff on Sunday if they are to advance to the semi-finals.
Sri Lanka, who were bowled out for 138 in their opening one-wicket defeat by New Zealand, will advance with victory over Australia on Monday.