Emi Buendia gave the Canaries an early lead before Ovie Ejaria leveled in the 13th minute. Teemu Pukki's penalty nine minutes into the second half gave Norwich all three points.
Story of the match
Norwich were putting early pressure on their hosts, Pukki put through on a superb through ball by Emi Buendia, but he was dispossessed and Reading saw off the danger.
On 10 minutes, Norwich were front. Pukki's shot was saved by Reading goalkeeper Rafael Cabral, but moments later Buendia picked up a loose pass and fired into the bottom left corner.
Three minutes later, Reading were level as Michael Olise's shot was deflected past Canaries keeper Michael McGovern into the bottom corner.
Max Aarons sent in a fizzing cross for Pukki, who tested Cabral, but the Royals netminder was up to the task. In the 35th minute, Cabral again saved from Pukki.
The decisive moment came in the 53rd minute when Aarons was brought down in the box and Pukki stepped up to convert from the spot.
Reading were in search of an equalizer, but Ejaria could only fire wide. Kieran Dowell nearly added a third for the hosts, hitting the post.
Buendia saw his effort blocked and Todd Cantwell's header lacked any real power. McGovern tipped one last Reading chance over the bar in the second minute of extra time as Norwich remain at the summit with 40 points.
Man of the Match: Max Aarons
While Pukki had plenty of chances and scored the eventual match-winner, it was Aarons who was providing excellent service all match long and he drew the penalty that led to Pukki's goal.
Norwich will be relieved that they escaped this match with a victory. They were the better side and put more pressure on the Reading goal than the other way around.
The Royals rarely threatened the Canaries' goal and although the scoreline suggests a close game, the Royals never looked like winning.