Root, 23, yet to nail down any one position in the batting line-up in his fledgling international career and dropped for the final Ashes test in Australia at the start of the year, compiled his third test century from 190 balls and struck eight fours. (Agencies)
He was given strong support by the recalled Matt Prior who was unbeaten on 76 at the close of play after the hosts dominated the final two sessions.
England, fielding a new-look team after being humiliated 5-0 in Australia, lost three wickets in the morning session as Nuwan Kulasekara and Nuwan Pradeep made a bright start after Sri Lanka captain Angelo Mathews elected to bowl.
Ian Bell (56) was out early in the afternoon session, soon after bringing up his 40th half-century in his 99th test, to leave the home side on 120 for four before Root and Moeen rallied by sharing an 89-run stand.
Moeen showed few nerves despite making a slightly streaky start while Root became the fifth youngest England batsman to pass 1,000 test runs.
The pair batted for most of the middle session but after tea Moeen slashed at a ball from Rangana Herath, having earlier hit the first ball he faced from the spinner for six, two short of a maiden half-century, and the catch was taken by Mahela Jayawardene at first slip.
Prior, back in the team after injury and loss of form, was almost trapped leg before second ball when he was hit on the back leg by Herath and a video review found narrowly in his favour.
After that early scare the wicketkeeper-batsman offered good support to Root as the Sri Lanka attack tired and the pitch began to lose its green tinge.
The duo scrambled plenty of quick singles and took advantage of any loose balls to put on an unbeaten 135 for the sixth wicket.
England, with a new coach in Peter Moores and with the international career of batsman Kevin Pietersen now controversially ended, got their new era off to a poor start.
Australian-born Sam Robson (1), making his debut along with Moeen and pace bowler Chris Jordan, edged a full ball off the lively Pradeep that was well taken by wicketkeeper Prasanna Jayawardene.
Captain Alastair Cook, who had moved quickly through to 17 but never looked comfortable during his 26-ball innings, also played a false shot, attempting to cut a Kulasekara delivery that was too close to his body and chopping the ball on to his stumps.
After a shaky start Bell began to find his touch, confidently driving anything over-pitched and he brought some cheer to the crowd with a lusty straight six off Herath in the first over after lunch.
He was unable to maintain that momentum however, falling lbw to Shaminda Eranga after the original not-out decision was overturned on review.
Root, 23, yet to nail down any one position in the batting line-up in his fledgling international career and dropped for the final Ashes test in Australia at the start of the year, compiled his third test century from 190 balls and struck eight fours.