Last man out was silver fox Rangana Herath, cricket's most successful left-arm spinner in history, in his last match before retirement.
The hosts, chasing a notional 462 victory, were all out for 250 on day four, with Moeen Ali taking four wickets and Jack Leach three.
England had secured a first innings lead of 139 and on Thursday an unbeaten 146 by Keaton Jennings, his first century since a ton on his 2016 debut, allowed Root to declare at 322 for six.
Fifteen without loss overnight, openers Kaushal Silva and Dimuth Karunaratne withstood the pressure from England's formidable bowling attack for the first hour.
But both fell after attacking shots, with Kaushal leg before trying to sweep Leach for 30 and Karunaratne caught and bowled by Ali for 26 and skipped down the pitch for an attempted heave.
One ball earlier, de Silva had been given out caught behind flashing at a Stokes delivery wide of the off stump, but he was reprieved on review.
After lunch Kusal Mendis hit Leach for four over his head but attempting a repeat the next ball skied the ball to Ali and departed for 46.
He had earlier appeared confident at the crease, employing the sweep shot especially well against all England's spinners, while secure in defence.
The final session began badly for the hosts. Niroshan Dikwella fell the first ball after tea, caught adroitly by Stokes one-handed at slip off Ali for 16.
He was followed into the pavillon by Akila Dananjaya for 8 before Herath was run out for five.
England's varied attack, with three quicks and three spinners, applied substantial pressure, with the slightly expensive Adil Rashid the only disappointment so far.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)