Norwich went down to their first defeat in nine league games as Derby County edged a close encounter at Carrow Road.
Timm Klose’s second-half header had cancelled out David Nugent’s first-half opener, but Sam Winnall poked in the winner with seven minutes remaining.
City made three changes to the match against Arsenal in midweek. Cameron Jerome was given the lone striker role up front in place of Nelson Oliveira, Wes Hoolahan replaced Mario Vrancic on the right and Marco Stiepermann slotted in at left-back ahead of James Husband.
The Canaries made a bright start with two successive corners in the opening five minutes causing problems, but Christoph Zimmermann couldn’t get enough power behind his shot from 10 yards out, and Scott Carson made a comfortable save. Wes Hoolahan then sent a lofted shot from the left corner of the box wide as Norwich kept up a good tempo.
Marco Stiepermann should have opened the scoring for City in the 17th minute. Josh Murphy played him through on the left, but with the keeper to beat he struck the underside of the crossbar, with the ball bouncing down onto the line and away.
Derby were neat and tidy in possession, and went close five minutes later when former Canary Bradley Johnson sent a cross-shot flying across Angus Gunn’s goal and wide. Moments later Murphy tried his luck from distance, but his 25-yard curler was beaten away by a diving Carson.
The game’s tempo settled down after 20 minutes, with both sides trying to win the midfield battle as the match became a game of patience. Some neat City passing in Derby’s final third created space for Harrison Reed to have an effort 25 yards out, but his shot was thumped a couple of yards over.
There was huge controversy in the 38th minute when Murphy rounded Carson on the byline, only for the keeper to seemingly grab him from behind and send Murphy to the floor. But the referee only gave a corner with City certain they had a penalty.
With the crowd incensed, Jerome went close with a curling effort from outside the area that went just wide of Carson’s left post.
Against the run of play, Derby opened the scoring on the stroke of half-time. David Nugent collected a through ball and finished into the bottom right corner from just inside the area.
Derby made a change for the second half, with former City striker Chris Martin replacing Matej Vydra.
Tom Huddlestone went close in the 53rd minute, when a ball was headed clear from a Derby corner and fell kindly for the midfielder. His spectacular 25-yard volley was brilliantly tipped over by Gunn.
Down the other end, Maddison twisted and turned on the edge of the area and sent a rasping left-foot drive just wide of the right post.
With 60 gone City went close to the equaliser. Murphy’s chipped cross from the right to the back post picked out Stiepermann but his guided volley was straight at Carson from just five yards. Shortly after, Farke made a double substitution. Murphy – still nursing a broken toe – was replaced by Yanic Wildschut while Nelson Oliveira was brought on for Reed.
City’s pressure paid off in the 70th minute when Stiepermann picked up Timm Klose at the back post, and the centre-back headed Norwich back on level terms.
There was bad news for Norwich minutes later, as Oliveira was forced off clutching his calf and Farke replaced him with Marley Watkins.
With 15 minutes remaining Derby had a spell of sustained pressure, with City throwing bodies into blocks and Gunn getting down well to deny Martin.
City did well to resist Derby’s pressure and get a foothold back into the game, and came close to taking the lead. Maddison picked out Tom Trybull at the far post, but he air-kicked his attempted volley.
Norwich were made to pay shortly afterwards, when Johnson was left in too much space. His fierce shot was brilliantly saved by Gunn, but substitute Sam Winnall reacted quickest to poke Derby in front.
A tiring City struggled to create much in response, but were given a fillip when six minutes of added time was given.
Jerome went close, fizzing a shot just over the bar from 20 yards as Norwich pressed desperately but it wasn't to be.