Captain Alastair Cook was clean bowled for just 11 Kemar Roach to leave his side struggling on 22-2.
On a good batting wicket, England have struggled to cope with the West Indies' pace attack, with Jonathan Trott dismissed early on for a duck.
England captain Alastair Cook fell cheaply for the second time in the match for MCC against county champions Yorkshire in Abu Dhabi.
Cook followed up his three in the first innings with just five in the second, as his failed pull off the bowling of Jack Brooks went straight to Adil Rashid at midwicket.
Tillakaratne Dilshan's 18th one-day international hundred in his 300th match for Sri Lanka left England needing a ground-record run chase at the Premadasa Stadium.
It was Dilshan (101), of Sri Lanka's three veteran batsmen, who played the starring role in a total of 302 for six.
Alastair Cook found a little confidence with the bat and, after sweeping and then cutting Dilruwan Perera for boundaries, he slog-swept the off-spinner for only his second six of the year.
But his luck ran out, and his scrappy innings was over, when he edged Lakmal again and Jayawardene this time took a neat catch low down.
Cook had to go, after the umpires checked the ball carried, for his 10th successive score under 50.
Even with Root still scrapping, on 137 for six from 30 overs, England were washed up.
England captain Alistair Cook has been suspended for one match after being found guilty of a slow over rate in the recent win over Sri Lanka.
Cook was also fined 20% of his match fee after a similar transgression at Cardiff last summer.
England now head back to Colombo on Thursday just 2-1 down, with four to play in the one-day series.
Before the punishment was handed out, Cook said: "It will be what it will be. We'll plead our case. It is incredibly tough on a big ground, the ball going everywhere in the last few overs - and also how long it takes the batsman to come out.
"I don't know whether that will get me anywhere. We will see."
England get a win under their belts at last but captain Alastair Cook is likely to be handed a one-match banRead the full story ›
Alastair Cook and his England team are in a state of shock at the plight of Australia batsman Phil Hughes, as they prepare for the start of their one-day international series against Sri Lanka.
The stricken Hughes has undergone emergency surgery and is an induced coma and critical condition after being felled by a bouncer during a Sheffield Shield match at the Sydney Cricket Ground.
Cook said: "Since we woke up this morning, the whole team have been in a bit of shock all day. All our thoughts and prayers are with Phillip."
Most of the England team have played against Hughes at some time, and three have been county colleagues in his stints at Middlesex and Worcestershire.
"Fingers crossed, he can show the same fight he's shown throughout his whole career and he can pull through," Cook added.
Alastair Cook insists the England dressing room is a 'happy' place now that Kevin Pietersen is no longer a topic of conversationRead the full story ›
Alastair Cook will captain England on their seven-match one-day international tour of Sri Lanka this winter.
Cook's position as ODI captain has been under scrutiny recently, with critics citing his mediocre batting strike-rate as a major concern.
But England's selectors have kept faith, naming him to lead a 16-man squad for the tour of Sri Lanka in November and December. Cook now looks certain to lead England in the World Cup in Australia and New Zealand early next year.
Eng squad: Cook Ali Anderson Bell Bopara Buttler Finn Gurney Hales Jordan Morgan Root Stokes Taylor Tredwell Woakes http://t.co/q2VojoQHFH
The England and Wales Cricket Board (ECB) has confirmed Kevin Pietersen has been released from his contract, as the side moved to "invest in our captain Alastair Cook".
In a joint statement with the Professional Cricketers Association, the ECB said it had been a "matter of great frustration" that it had been unable to respond to "unwarranted and unpleasant criticism" during negotiations.
Former Australian cricketer Shane Warne had described the apparent decision as a "disgrace and a joke" for keeping Pietersen on the England side.