Alastair Cook's second one-day international hundred predictably proved in vain as Dinesh Chandimal eased Sri Lanka past 246 for seven to go 2-1 up in the NatWest Series.
Cook grafted hard for his career-best 119 at Lord's, but as captain was then powerless to stop Chandimal (105no) and Mahela Jayawardene (79) putting Sri Lanka serenely into position for a routine chase - achieved with six wickets and 10 balls to spare.
England must therefore win the last two matches of the NatWest Series to add an ODI victory to their Test success against Sri Lanka this summer.
On a very good batting surface, the hosts did little wrong with the ball but - Cook apart - simply had not done enough with the bat to secure a defendable total.
Early wickets were the likeliest method of somehow prevailing but England managed only to shift Cook's opposite number Tillakaratne Dilshan, Tim Bresnan trimming the off-bail, before Jayawardene and Chandimal shared a hundred stand.
Jayawardene needed just 45 deliveries to add a half-century here to his Leeds hundred two days ago.
It was a shock when he slapped a Jade Dernbach long-hop to point to give England a much-needed breakthrough - and although the hosts then tried to put the squeeze on as reverse-swing entered the equation, they had no margin for error.
Sri Lanka were well ahead of the game, and Chandimal and Kumar Sangakkara did the necessary until the latter holed out to cover off Graeme Swann.
Chandimal stayed the course to complete the job - albeit in bizarre circumstances as Angelo Mathews made it his business to ensure his partner reached his second ODI hundred.
It was a policy which brought Mathews one run from 21 balls and appeared to be trying Dilshan's patience on the pavilion balcony as Sri Lanka stalled just short of the finish line, until Chandimal at last cleared long-on off Bresnan to reach three figures with his second six.
Cook had to chisel out his sheet-anchor 127-ball century, because England's other batsmen either went cheaply or - in Kevin Pietersen's case - got out when set.
The opener was fluent against the new ball, after winning the toss on a glorious morning, and Pietersen appeared in ominous touch in his near run-a-ball 41.
But no such thing could be said for either Craig Kieswetter or Jonathan Trott.
They could muster only five runs from 26 deliveries, and the top three ate up 17 dot balls before each got off the mark.
A supremely-disguised slower ball from Lasith Malinga had Kieswetter chipping a simple catch to mid-on, but there was no obvious change of pace from Suranga Lakmal when Trott mistimed to mid-off.
Sri Lanka would have had Cook too, for only 15, had Jayawardene held a routine slip catch off Nuwan Kulasekara.
Pietersen crunched three successive fours off Lakmal and added two more in the seamer's next over, one via a glaring mis-field from Dilshan at mid-off, and his prime form briefly raised expectations that England could cash in.
But there were two more setbacks to those aspirations just round the corner - both courtesy of Jeevan Mendis' leg-spin.
Mendis was bowling plenty of googlies, yet Pietersen tried to slog-sweep a leg-break and paid for his poor contact when he was caught at deep square-leg.
Curiously, it was the third time Mendis has got Pietersen - at a cost of only seven runs - in this series.
Mendis doubled up with the important wicket of Eoin Morgan, aiming to shovel a single behind square on the leg-side but missing another leg-break to be lbw.
Cook, who had adapted his approach to complement each of his partners, was joined by England's last specialist Ian Bell - and it was clear they would have to be cautious from an insecure 85 for four in the 22nd over.
Bell's first 19 runs all came from singles, symptomatic of the innings' precarious position.
In his 100th ODI, his highest scoring shot in 30 runs towards a stand of 72 proved to be a two off Mendis to long-on, before he upper-cut Lakmal to third-man to depart mid-powerplay.
England went without a boundary for 11 overs, and Cook's four - squirted behind point off Malinga - was the only one in a paltry 24 powerplay runs.
Cook had hit 11 fours, and passed 1,000 ODI runs too, by the time he reached his hundred. But even after he and Bresnan put on 75 - and then Swann hit Malinga for England's first six, over midwicket from the penultimate ball of the innings - it was tough to make a mid-match case for a home win.
That impression was commuted to fact principally by Jayawardene and Chandimal as it became increasingly evident that England did not have enough runs on the board.Reuse content