England go 1-0 up in the five-match series after Morgan's run-a-ball 92 and Root's 71 set total of 278-9 before the rains came in Dambulla
England's Chris Woakes sinks Sri Lanka in rain-marred ODI
England's Eoin Morgan and Joe Root shone with the bat while teammate Chris Woakes was on fire with the ball in a 31-run victory agaisnt Sri Lanka via the Duckworth Lewis method in the rain-soaked second one-day international on Saturday.
Chasing 279 for victory, Sri Lanka overcame Woakes' triple strikes to reach 140-5 in 29 overs when heavy rain stopped play and England won the match under the scoring method governing such rain-marred matches.
Morgan's men go 1-0 up in the five-match series which began with a washout on Wednesday and the teams now move to Kandy for the third match next Wednesday.
"We have had a halted start in training and the first game with the rain," Morgan said.
"I wouldn't say it was our best game. The batting managed to scrape something together. We should have gone past a par score but ended up scraping to that."
Earlier, Sri Lanka's Lasith Malinga rediscovered some of his old magic and claimed 5-44 to limit England to 278-9 after the tourists looked set for a 300-plus total.
Morgan led from the front with nearly a run-a-ball 92, while Test captain Root contributed 71.
England lost Jason Roy in the first over but Root played with characteristic assuredness, hitting six crisp boundaries in his fluent innings.
Root added 68 runs with Morgan, who initially struggled to middle the ball but soon got into a rhythm, often employing the sweep and reverse sweeps against the spinners.
Akila Dananjaya dismissed Root but it was Malinga who denied the tourists a late surge, and Morgan his 12th ODI hundred, when he had the England captain caught and bowled in the 42nd over.
Malinga's bowling mastery was in full display again as the 35 year old used the slower ball to good effect and England lost five wickets for 36 runs.
The bowler with a sling-shot action dismissed Morgan and Moeen Ali off successive deliveries and returned to remove Woakes and Liam Dawson in the same over.
Woakes then derailed Sri Lanka's chase with the ball. Hit for a couple of boundaries by Niroshan Dickwella, he replied by dismissing Upul Tharanga for a duck in his first over.
The paceman then accounted for Sri Lanka captain Dinesh Chandimal in his third over and Dasun Shanaka in his fifth and Sri Lanka could never really recover from the blows.
Thisara Perera (44 not out) and Dhananjaya de Silva (36 not out) tried to put the chase back on track but the hosts had lost too many wickets by the time rain intervened.
"Apart from the first seven or eight overs when batting we competed really well," Chandimal said. "The energy in the field was good to see, and was a plus point today.
"We are always giving away three or four wickets - and that's an area we have to improve as a unit, because that was a winning target."