Chasing just 186, the hosts wobbled at 80-4 in the 12th over but Root's unbeaten 79 from 87 balls saw them win with 15.1 overs to spare.
He and Moeen Ali calmed any nerves with a stand of 91 and when the latter was out for 28 the win was all-but assured.
Sri Lanka dropped Moeen first ball and put in another dismal batting effort - bowled out for 185 in 42.3 overs.
Captain Kusal Perera made 73 from 81 balls and Wanindu Hasaranga a 65-ball 54 but only one other batter made double figures.
Chris Woakes returned an impeccable 4-18 and David Willey 3-44, while there were also two run-outs and a raft of soft dismissals in a Sri Lanka batting effort weakened by three players being sent home for breaching Covid-19 protocols on Monday.
England, comprehensive winners in last week's Twenty20 series, now lead the three-match one-day series 1-0.
The sides meet again in the second ODI on Thursday at The Oval before the final match in Bristol on Sunday.