Root was unbeaten on 99 off 161 balls with seven boundaries and debutant Dan Lawrence, who was dropped by wicketkeeper Niroshan Dickwella in the last over, as England went to lunch on 40 not out to consolidate its lead to 71 runs.
Root had scored a century at Pallekele during England’s last tour to Sri Lanka in 2018 when England won 3-0.
England had rattled Sri Lanka for 135 in the first innings inside the first two sessions on Thursday with Dom Bess claiming 5-30 and Stuart Broad picking 3-20.
England lost overnight batsman Jonny Bairstow in the second over after rain delayed the start of the second day for an hour and 10 minutes.
But Root and Lawrence then added another productive 75-run stand to take the game further away from Sri Lanka. Lawrence played some fluent cover drives against the spinners and even hit Embuldeniya for a six over mid-wicket as he grew in confidence in his debut Test.
Lawrence could have fallen to Embuldeniya in the last over before the break, but Dickwella not only failed to grab the catch, but missed the stumping as the batsman dragged his backfoot out of the crease.