England 244 for 2 (Morgan 75*, Root 68*, Roy 60) beat Sri Lanka 241 for 9 (Dhananjaya 91, Shanaka 47, S. Curran 5-48, Willey 4-64) by eight wickets
Sam Curran's maiden international five-for set England up for victory and their top order sealed the deal, despite Dhananjaya de Silva putting up a fight for Sri Lanka in the second ODI at The Kia Oval.
Curran took 5 for 48 from 10 overs, while fellow left-armer David Willey took 4 for 64 as Sri Lanka reached 241 for 9, largely on the back of Dhananjaya's run-a-ball 91.
But, led by half-centuries from Eoin Morgan, Joe Root and Jason Roy, England overhauled the target with seven overs to spare, winning by eight wickets to go 2-0 up in the three-match series.
Morgan's unbeaten 75 came in his 16th international innings across both white-ball formats since he had last passed fifty, while Root went past the mark for the second match in a row to remain not out 68, the pair putting on an unbroken 140-run stand for the third wicket.
Sri Lanka had no answer for the swinging ball early on with Curran the chief purveyor at his home ground. At one point, he had taken three wickets for three runs in 1.3 overs as England made early breakthroughs.
Dhananjaya restored some order after the chaotic start and shared valuable partnerships with Wanindu Hasaranga and Dasun Shanaka to steady the innings, Shanaka falling three runs short of a half-century.
Willey had an lbw decision overturned on the fourth ball of the day, Pathum Nissanka successful with his review, which showed he had edged the ball onto his pad. But Curran struck four balls later, removing Kusal Perera for a second-ball duck.
By the end of the second over, Sri Lanka were 6 for 2 after Curran also pinned Avishka Fernando - unexpectedly back in the side after apparently being ruled out of the series by a thigh injury - with a ball that shaped back in and hit him in line with leg stump.
They were in disarray when Curran claimed his third, pegging back Nissanka's middle stump with a big inswinger that beat the inside edge.
That brought Dhananjaya to the middle and, having passed a late fitness test after suffering back spasms, he injected some experience to a Sri Lanka side which had blooded three players in Tuesday's five-wicket loss at Durham.
A short ball from Willey lured a mis-timed pull from Charith Asalanka - the only debutant from Chester-le-Street to hold his place - which sailed straight to George Garton, the substitute fielder at short midwicket while Morgan was off the field. With seven overs bowled, Sri Lanka were 21 for 4.
Dhananjaya and Hasaranga began salvaging the innings, the former showing strong intent as he helped himself to boundaries off Willey and Curran down the ground, through midwicket and to the off side.
They took Sri Lanka to 47 for 4 by the end of the first powerplay and, despite a near-miss when taking a single - Dhananjaya was nearly run out as well as almost colliding with Jonny Bairstow all at once - they survived. It was Bairstow who came off worse when he took Curran's wild throw awkwardly on the left thumb and had it taped before carrying on.
Hasaranga offered an early chance, edging a back-of-a-length ball from Mark Wood to Bairstow off the shoulder of the bat, but was put down as the keeper flung himself high to his right. He then hit two fours off a Curran over, pulled soundly over midwicket and driven gorgeously through cover, but it was a Curran bouncer that did him in as he took it on and picked out Sam Billings at deep square leg for 26, having put on 65 runs with Dhananjaya.
Dhananjaya reached his fifty off 58 deliveries and Shanaka brought up the team 100 by launching Curran for a powerful six over wide long-on.
Willey ended Dhanajaya's stay with a short ball pulled poorly in the direction of deep square leg, where Root snaffled the catch. Shanaka fell to Willey, cutting another short delivery to Curran just inside the rope at cover point, and Curran claimed his fifth wicket with a bouncer that Chamika Karunaratne tried to pull, only to see it loop behind him and into Bairstow's waiting gloves.
Willey found himself on a hat-trick when he added Binura Fernando's wicket, well caught by Adil Rashid running in from fine leg, to that of Shankaka, taken on the last ball of his previous spell, but Dushmantha Chameera denied him.
Roy was in fine touch after missing the last T20I and the first ODI with a hamstring problem: by the time he reached 40, off the 26th ball he faced, he had racked up eight boundaries including back-to-back fours off Binura Fernando, bisecting fine leg and deep backward square off his pads and punishing a wider one through point to raise England's fifty.
Bairstow took longer to find his rhythm but he did so in style, taking 16 off one Asitha Fernando over with two fours and a six thundered over long-off. And, after first powerplay, England were 65 without loss.
Bairstow fell to Hasaranga for 29, though, chopping a legspinner onto his off stump, having just managed to edge the previous ball for four past the keeper.
Roy took another 21 deliveries to make the 10 runs needed to reach his half-century and he didn't hit another four until the 17th over when he struck Hasaranga for two in as many balls, over midwicket and straight down the ground.
That was the precursor to his demise which came when he walloped a back-of-a-length Karunaratne delivery to short midwicket, where Dhananjaya took a stunning catch leaping to his right.
But with England 104 for 2 and Root, whose unbeaten 79 saw England home in the opening ODI, accompanying Morgan with more than 32 overs remaining, there was no sense of urgency.
Morgan brought up his fifty off as many balls with a single edged past the keeper off Hasaranga shortly after hitting the same bowler for six over cow corner. Root guided Dhananjaya behind point for his half-century.
Needing 18 off the last 10 overs, the two England captains got there with ease, Morgan cracking the winning runs to rope at deep backward square off a Binura Fernando short ball, having worn the previous delivery somewhat painfully on his thumb before it almost rolled onto his stumps.

Valkerie Baynes is a general editor at ESPNcricinfo