Terry Whisnant scored 15 points for East Carolina (4-5), which shot 33 percent from the field. B.J. Tyson had 13 points, and Caleb White scored 11.
East Carolina led 10-9 before Isaiah Hicks scored seven points on three consecutive possessions for the Tar Heels.
Hicks dunked twice off passes from Tokoto and then converted a three-point play to give North Carolina a 16-10 lead.
The Pirates closed to 19-16 with 10:54 left, but never got any closer.
North Carolina led 48-29 at halftime on the strength of a 23-5 run beginning midway through the first half.
East Carolina missed each of its 11 3-point attempts in the opening half. It was 4 for 25 from long range for the game.
Coming off one of the worst performances of his career, Johnson led the way for the Tar Heels. He bounced back after scoring two points on 1-of-7 shooting in Wednesday's 60-55 loss to Iowa.
Against the Pirates, Johnson was a different player. He was active on the boards throughout and stayed engaged on defense even after missing three of his first four shot attempts.
Johnson finished the first half with a flurry, scoring eight of North Carolina's final 10 points. His final three baskets of the half all came after his own offensive rebounds.
Johnson had 13 points and 11 rebounds in the first half. He became the first UNC player to register a double-double in a half since John Henson had 14 points and 11 rebounds in the first half against Elon in 2011.
East Carolina: The Pirates missed their first 12 3-point attempts before Whisnant connected from the right wing with 17:24 remaining in the game.
North Carolina: Coach Roy Williams pulled all five of his starters 1:56 into the second half after the Tar Heels committed three quick turnovers.