England's hopes of progressing smoothly to the World Cup semi-finals were dealt a shock blow at Headingley, where Sri Lanka upset the form book to land a 20-run win.
The hosts were chasing a modest 233 as they sought a victory that would have seen them leapfrog Australia in first place, but instead crashed to 212 all out.
They were undone by Sri Lanka's two oldest stagers, 32-year-old Angelo Mathews digging deep for an unbeaten 85 that kept the first innings afloat and 35-year-old seamer Lasith Malinga rolling back the years with four for 43.
Tweet of the day
Consternation abounded as Sri Lanka went along at a snail's pace in a throwback to one-day internationals of the past. Avishka Fernando looks a talent and tantalised the crowd in an adventurous 49 off 39 balls but Sri Lanka's other batsmen were stuck in the mud. However, a total of 232 for nine was enough as England capitulated on a sluggish pitch for a stunning upset, leaving former captain Michael Vaughan distinctly unimpressed.
You've been framed
Tournament tracker
Quote of the day
The England captain admitted his side neglected the basics in building partnerships after their second defeat of the tournament.
Stat's all folks
53 for two. Chasing a modest target, England lost a couple of wickets to Malinga and even the emergence of their six-hitting skipper Eoin Morgan did not lead to a sharp spike in scoring rate. Instead they tip-toed to 53 for two after 15 overs, their lowest home score at that point of the innings since the 2015 World Cup. They have struggled more once overseas, slumping to 35 for five in Adelaide last year.
Top of the shots
With Sri Lanka on three for two, Fernando decided on a proactive approach, unfurling two sumptuous cover drives off Jofra Archer either side of planting the paceman into the stands. Fernando, making his tournament bow and playing only his seventh ODI, then audaciously pulled the same bowler over deep square-leg and out of the ground, the 21-year-old middling an ineffective bouncer. He would fall one short of a deserved half-century and though Sri Lanka's innings would never recover momentum, it hardly mattered.
Money ball
Jofra Archer took his fifth three-wicket haul in six innings, moving alongside Australia left-armer Mitchell Starc for the most scalps in the tournament. But he was upstaged by wily slinger Malinga. The express pace may not be there but the 35-year-old bowled with great control and guile, the pick of his incredible four for 43 a nostalgia-inducing yorker that struck Jos Buttler on the toe, a review showing the ball would have clattered into the stumps.
Ton up for Mo
"I never, ever thought in my wildest dreams that I would get close to it," said the affable Moeen on the eve of his 100th ODI cap. A Liverpool fan through and through, the occasion was made extra special following a 'good luck' video message from Reds great Steven Gerrard. He did not concede a single boundary in his 10 overs of off-spin but his dismissal, holing out immediately after bludgeoning a six, led to criticism, most notably from Vaughan.
Top run-scorers
What's next?
June 22: India v Afghanistan at the Hampshire Bowl, 10.30am
June 22: West Indies v New Zealand at Old Trafford, 1.30pm