Injury hit Reading were defeated at the Madejski Stadium as Teemu Pukki scored the winner early in the second half from the penalty spot.
Norwich went ahead when Emi Buendia netted after some sloppy play from the hosts, but Michael Olise replied quickly as he deflected in Ovie Ejaria’s shot.
But the Championship leaders hit back to claim the three points to increase their lead at the top.
Veljko Paunovic was forced to change his system was a plethora of injuries. Without the physical presence of Lucas Joao or Yakou Meite in attack, Sone Aluko and Alfa Semedo came into the side while Lewis Gibson replaced the injured Omar Richards at left back.
League leaders Norwich had the early possession as they tried to break down the Reading back line.
The visitors almost broke away after stealing the ball in the Royals half but some excellent defensive tracking saw Josh Laurent sprint back to win the ball and protect possession as he received an ovation from the 2,000 fans in attendance for his graft.
The warning signs were there for Reading as they gave the ball away cheaply and the dangerous Temu Pukki had a strike at goal but Rafael got down low to his left to save.
But Reading didn’t heed the warning as moments later Andy Rinomhota uncharacteristically gave the ball away on the edge of his own box and Emi Buendia capitalised for the Canaries as he stroked the ball past Rafael into the bottom left corner.
But the Royals weren’t behind for long. Just days after grabbing a late winner against Queens Park Rangers, Michael Olise was on the scoresheet again.
This one considerably less spectacular than the last, but they all count the same. Sone Aluko blocked shot fell to Ovie Ejaria who drove a shot at goal which found its way into the corner past the rooted Norwich keeper after taking a deflection off Olise.
Having found a reply just three minutes after the Norwich opener, Reading grew in confidence but Norwich continued to pose a threat.
Max Aarons skipped down the right wing and fizzed a cross into the near post for Pukki which looked destined for the net but Rafael made a superb save to tip it over the bar.
Pukki again had another sight of goal with an almost identical chance, but Rafael was again in his way to deny the Finnish striker.
Reading had another chance just before the break as Olise breezed past a defender, cut inside the box onto his left and unleashed a strike that deflected off Rinomhota and flew inches wide of the far post as the sides went in level at half-time.
Norwich boss Daniel Farke made two changes for the second half as Todd Cantwell and Kieran Dowell replaced Josh Martin and Marco Stiepermann.
The lively Aarons then won a penalty in the 53rd minute as he went past a challenge in the box before being fouled by Liam Moore.
Pukki stepped up to the spot and stroked the ball past Rafael, who dive the wrong way, to net his 10th Championship goal of the season.
Paunovic made his first switch just before the hour mark as Sam Baldock replaced Aluko.
Norwich came inches away form a third goal when they worked a slick passing move to slice open the Reading defence, but Dowell’s shot bounced back off the post.
Another swift attack from Norwich, led by the creative force of Buendia, came close when his shot took a nick off a Reading body and fell just past the post.
Two late changes saw Tom McIntyre and Jayden Onen introduced as the Royals searched for an equaliser.
Olise came close with a free kick in added time, But Norwich held out for the points to take them three clear of Bournemouth at the top.
Reading face a tough trip on the road this weekend when they make their first visit to Brentford’s new Community Stadium, with just a point separating the sides going into the game.
Reading: Rafael, Holmes, Gibson, Moore, Morrison, Rinomhota, Laurent, Ejaria, Olise, Semedo, Aluko
Subs: Walker, Esteves, McIntyre, Bristow, Watson, East, Onen, Melvin-Lambert, Baldock
Norwich City: McGovern, Sorensen, Zimmermann, Hanley, Aarons, Mclean, Skipp, Martin, Stiepermann, Buendia, Pukki
Subs: Barden, Omobamidele, Tettey, Vrancic, Cantwell, Dowell, Omotove, Hugill
Goals: Buendia 11′, Olise 14′, Pukki 55′ (pen)