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