Woakes arrived at the Emirates Riverside having bowled just seven overs for his country in the nine and a half months since he was named as England’s player of the year last September, but it was his exemplary bowling that settled matters.
He claimed 4-18 from his 10-over allocation, restricting the weakened tourists to a less-than-competitive 185 all out.
Root’s White Rose team-mate Jonny Bairstow scrubbed 43 off the target in a frenzy of boundary-hitting at the top of the order and, after a brief wobble, Root saw the hosts across the line with a polished 79 not out.
The tourists could hardly have imagined a more unhelpful build-up to the series opener, with last week’s Twenty20 whitewash only compounded by the self-inflicted loss of three senior men. With Kusal Mendis, Niroshan Dickwella and Danushka Gunathilaka all sent packing following their night out in Durham, the Sri Lankan XI had a mix-and-match feel, with three debutants and an ad-hoc batting order.
Who can tell what would have become of Sri Lanka had captain Kusal Perera joined that ill-fated sojourn. As it was, he was on hand to keep his side afloat with a hard-fought 73 and an accomplished stand of 99 with Wanindu Hasaranga.
That all-rounder had been thrust up the order to number five and responded with a typically enterprising 54.
Perera was playing a different game to his team-mates in the 10-over powerplay, racing to 32 not out from just 16 balls while England took three for 15 at the other end.
Woakes struck twice with the new ball, foxing Pathum Nissanka with a slow bouncer and taking out Dasun Shanaka via a regulation outside edge.
In between those strikes Yorkshire’s David Willey made it a debut to forget for Charith Asalanka, nicking to slip for a duck.
England’s hopes of running through the order were held up for more than 20 overs by Perera and Hasaranga.
The skipper’s was a conventionally classy innings while his young team-mate went after his fellow leg-spinner, taking 22 in boundaries off Adil Rashid, the fourth Headingley player in the England XI.
Woakes’ return was enough to disrupt their work, Hasaranga taking on a bumper but flapping to Liam Livingstone in the deep.
The next six wickets were scooped up for just 40 runs, Woakes completing his haul by seeing off Dhananjaya Lakshan, while Willey grabbed a couple more to finish with 3-44.
Perera was the big one, taking on the long square boundary and picking out Sam Billings, who later ended the innings with a run-out.
Bairstow began the chase in fifth gear, crunching the first two balls of the reply to the ropes.
He barely slowed down from there, peppering the ropes as he cut and drove with disdain.
When Binura Fernando dropped short on the pads, Bairstow rocked back and launched a pull for six.
Livingstone was a virtual bystander until he pounded a free hit into the stands, but he was gone two balls later with a horrible mis-hit off Chamika Karunaratne.
Bairstow’s 21-ball assault ended in the very next over, dragging Fernando into his stumps.
England still had the game in their hands but when Eoin Morgan and Billings both fell cheaply to flat-footed strokes off Dushmantha Chameera, the game was suddenly live.
Had Perera held the edge that Moeen Ali offered off his very first ball, it might have been even more that but the chance went down in casual fashion.
Where England should have been 80-5, when Moeen (28) eventually did depart they were just 15 from victory on 171.
Root had no reason to move out of his comfort zone, scoring only four boundaries during his stay, but every minute he occupied the crease took England a step closer to their goal.
The Test captain scored relentlessly through the third-man area, managed Hasaranga’s spin with a cool head and ran with his usual eagerness, offering nothing more than a couple of half-chances along the way.
He was leaning on his bat at the non-striker’s end when the winning runs came, Sam Curran bunting a full toss into the leg-side in the 35th over.