England wrapped up the ODI series with a Duckworth-Lewis-Stern victory as Sri Lanka slumped to an 18-run defeat on another rainy day in Kandy.

The tourist sealed a third consecutive weather-affected win on Saturday to take a 3-0 lead with just one match remaining.

Dasun Shanaka hit five sixes in a run-a-ball 66 and Niroshan Dickwella made 52 in Sri Lanka's total of 273-7, spinners Moeen Ali (2-55) and Adil Rashid (1-36) the pick of the England bowlers.

Joe Root and captain Eoin Morgan were unbeaten on 32 and 31 respectively after Jason Roy's brisk 45 when rain brought the contest to an end with England 132-2 after 27 overs.

It might have been a different story if Sri Lanka had enough men in the circle when Root was caught on 22, square-leg umpire Lyndon Hannibal signalling a no-ball.

Chris Woakes claimed an early breakthrough after Morgan won the toss and put the host in, the all-rounder snaring Sadeera Samarawickrama caught behind in the fifth over.

Dickwella and Dinesh Chandimal laid solid foundations with a second-wicket stand of 70, ticking along without taking any undue risks as Rashid and Moeen gave little away.

Moeen produced an excellent delivery to remove Chandimal (33), bowling the skipper with one that turned sharply before trapping Dickwella leg before soon after he brought up a half-century which included five boundaries.

Rashid got in on the act by dismissing Kusal Mendis leg before and Sri Lanka was wobbling on 154-5 when Dhananjaya de Silva edged Tom Curran behind, having been given a life when Jos Buttler missed a stumping chance off Moeen.

Shanaka and Thisara Perera halted England's momentum with a much-needed partnership of 58, the former having benefited from a stroke of luck when Alex Hales failed to hold on to a catch on the boundary.

The aggressive Shanaka struck Ben Stokes for two boundaries in an over to reach his half-century and dispatched Olly Stone over the ropes twice in an over which cost 17, but threw it away when he was run out by a combination of Morgan and Woakes.

Thisara and Akila Dananjaya produced a late flurry as Sri Lanka took 83 off the last 10 overs to post a challenging target, England falling short of its usual high standards in the field.

Hales, in for the injured Jonny Bairstow, struggled to get going and was stumped after being deceived by Dananjaya, who also snared Roy lbw to leave England 76-2 in the 16th over.

Root was given a reprieve by eagle-eyed square-leg Hannibal when he was caught sweeping De Silva and another deluge brought the match to a premature end.