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 against 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 5-140 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.
Earlier, Sri Lanka's Lasith Malinga rediscovered some of his old magic and claimed 5-44 to limit England to 9-278 after the tourists looked set for a 300-plus total.
Morgan led from the front with 92 from 91 deliveries, 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 the 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 skipper 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.