After doing almost everything right in an 81-run win at The Oval three days ago, this time England did many things wrong, especially in a hapless pursuit of 256 for eight which ultimately mustered 99 all out in 26.1 overs, their fifth-lowest ODI total.
Nuwan Kulasekara (three for 15) did the initial damage in a spell of three wickets for one run as England lost four for 10, and at no subsequent stage, despite an attempted rearguard from stand-in captain Eoin Morgan, did they threaten a passable recovery.
It seemed Morgan, deputising for the injured Alastair Cook, had won an important toss which allowed him to put Sri Lanka in on a pitch offering all bowlers sideways movement under cloud cover. But once England began to bat, it became increasingly clear that the efforts of top-scorer Tillakaratne Dilshan (88) and latterly Ashan Priyanjan were more significant than had first appeared.
Kulasekara had Michael Carberry pushing forward and edging behind, before Ian Bell was also caught by the wicketkeeper off a faulty cut, and then Gary Ballance was lbw on the front-foot defence to a delivery which shaped back into him.
In between, Lasith Malinga made short work of Joe Root, back when he might have been forward in defence, and losing his off stump. Ravi Bopara was then bowled by an off-break from Sachithra Senanayake, who was soon bamboozling Chris Jordan to have him lbw on the back foot, and Jos Buttler appeared to confuse himself as he punted a simple catch to mid-off in captain Angelo Mathews' solitary over.
As England's run of four consecutive ODI victories came to an abrupt end, only details remained. They included a new career-best return of four for 13 for Senanayake and, thanks principally to Morgan's 40 before he was ninth out for only the second double-figure score of the innings, the avoidance of any new record low totals or margins of failure.
Morgan pulled no punches in his review of his side's defeat, describing it as "abysmal", "sloppy" and "disappointing".
"Abysmal really," he said when asked about the performance. "I cannot explain it. We lost wickets continuously throughout the whole innings and underperformed massively.
"We have been outplayed in conditions we normally thrive in. We have played poorly. It is very disappointing and we were a little bit sloppy in the field."
England put two routine catches down and Bell also admitted the team was poor in the field.
"No excuses at all," Bell said. "There's no excuses from us. We have got to find some answers for the next game at Old Trafford. We are just really disappointed. It was not a 99 all-out wicket."
Sri Lanka captain Angelo Mathews said: "It was a pleasing performance by the whole team. All in all it was a great effort."
With the five-match series at 1-1, the teams next meet in Manchester on Wednesday.