Here is Paddy’s verdict on Daniel Farke’s side, who left it late again for the second time in a matter of days at Carrow Road to underline their promotion credentials.
• Michael McGovern
Could understand why he was in two minds for Anthony Knockaert's drifting cross, with Miguel Guerrero rising to connect in the middle of his six yard area. Touch of fortune when Joe Lolley's first half strike smacked a post. 6
• Max Aarons
Marked his century with a win. And a booking. Very difficult tussle with Sammy Ameobi, who was a major aerial threat. Another superb dart into the box almost ended with a second half effort from Teemu Pukki. 7
• Grant Hanley
Key figure when the visitors poured on the pressure. Commanding inside his own box. One lapse in possession went unpunished. 8
• Christoph Zimmermann
Caught out by Knockaert's cross. But in the main a solid display on his return to the side. 6
• Jacob Sorensen
First goal for the club was a big one. Quality strike on the volley underneath Brice Samba. Not an easy task against the lively Lolley. 7
• Oliver Skipp
Decent understanding developing with Mario Vrancic. More quality turnover work. One first half cross was begging to be finished. 7
• Mario Vrancic
Powerful right footed strike beaten away by Samba. Plenty of the ball in the first half. 7
• Emi Buendia
Got his reward when a deflected strike was headed past Samba by Reds' skipper Joe Worrall. Denied in the first half with a curling right-footed shot. Even appeared to have time for a choice verbal spat with his head coach, which Daniel Farke played down post-match. 7
• Marco Stiepermann
Cross was only partially cleared to Jacob Sorensen for the opener. Samba parried a goalbound second half effort. 7
• Josh Martin
Prominent in City's better first half spells. One perfectly-weighted pass for Emi Buendia got the thumbs up from the Argentine. Less effective with Norwich on the back foot in the second period. 6
• Teemu Pukki
Tireless shift closing down the Reds' centre backs. Denied a clear penalty when his header was handled by Yuri Ribeiro. 7
City substitutes
• Todd Cantwell (for Martin, 76) n/a
• Alex Tettey (for Stiepermann, 76) n/a
• Kenny McLean (for Buendia, 82) n/a
• Tyrese Omotoye (for Pukki, 90+3) n/a
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules here