City's Under-18s came from behind to seal their place in the fifth round of the FA Youth Cup in a thrilling match at Carrow Road.
Norwich were 1-0 and 2-1 down, while Ryan Dickerson saved a last-minute penalty to force the game into extra-time, when Norwich pounced twice to seal the tie.
Derby County made a bright start and were rewarded with an early goal. City didn’t clear their lines and Morgan Whittaker punished the slack defending by drilling low under Ryan Dickerson after just four minutes.
City responded almost immediately, a Jaden Thompson-Brissett corner causing a scramble in the Derby box. Anthony Spyrou's header was blocked and then Alan Fleming back-heeled over the crossbar with his back to goal.
City didn’t have to wait much longer to get level. In the 13th minute Spyrou was slipped in by Bilal Kamal on the left and he put the ball across the six yard box, where it fell to Fleming. He showed great composure to make space for the shot and rifled home.
Adam Idah almost put City in front a minute later when he held off two challenges before driving narrowly wide from outside the area.
Norwich were left to rue that going an inch wide when Jayden Bogle put the Rams back in front in the 19th minute. Jayden Bogle whipped in a free-kick from a narrow angle on the left and it went through a crowd of players and in.
Bogle had a glorious chance to put Derby further ahead in the 25th minute, when he couldn’t bring a free-kick down when just five yards out, the ball slicing wide for a goal kick.
The match settled into a pattern of Derby seeing most of the ball, with City trying to harry them in possession. But Norwich’s youngsters were struggling to create any meaningful chances despite the commitment.
The second half quickly settled into a similar pattern as the first, with Derby seeing most of the ball and Norwich struggling to string too many passes together.
It was City who went closest first in the second half, however. Idah produced a lovely chipped pass to put Spyrou through, but his early effort found the side-netting.
City made their first change during a 10-minute break in play, with Derby’s impressive captain stretchered off with a worrying neck injury. Glenn Middleton, returning from injury, replaced Thompson-Brissett.
Louis Lomas was forced off shortly afterwards with a muscle injury, and was replaced by Aaron Ekumah.
City got a lifeline in the 80th minute when Fleming was clipped in the box after being played through by Kamal. And it was Kamal who coolly slotted in the penalty to draw City level.
City were finishing strongly, and Fleming was played through on the left but Bogle did well to get back and clear as Fleming was about to pull the trigger.
As the match entered 15 minutes of injury time, Middleton picked out Spyrou 25 yards out and his powerful effort was just over the bar.
Derby sprung a counter and Whittaker had a good chance to put Derby in front with 10 minutes of injury time remaining, but he headed wide of the far post.
Both sides were really going for a winner in injury time. Kamal stung the hands of Joe Fryatt in Derby's goal and then Timi Odusina put in a brilliant challenge on Louie Sibley in the area as Derby countered.
A minute later Aarons brilliantly cleared off the line after Jason Knight headed goalwards after Dickerson had spilled a long cross into the box.
Dickerson soon made amends, however, brilliantly saving a Bogle penalty in the last minute of injury time, diving full stretch to his left. It was the last action of the 90 minutes, with the game going into extra time.
City took the lead six minutes into extra-time, Odusina pouncing on a loose ball from an Alfie Payne corner to slam the ball into the roof of the net.
Norwich played out the rest of the half calmly, with Alti Barkarson replacing Thorvaldsson.
With 10 minutes remaining, Idah pumped a ball forward, Spyrou played through Middleton, and a tackle on Middleton fell kindly to Spyrou who drove in from a tight angle to give City breathing space.
Spyrou almost made it five when City countered from a Derby corner, but he drove just wide of the far post.
Idah had a glorious chance to make it five from a couple of yards but he sliced his effort into Fryatt's arms. That was the last chance of a pulsating game, and City will face either Newcastle or Crystal Palace in the next round at Carrow Road.