Teemu Pukki gave Norwich the lead, missed a penalty, and then put Norwich ahead again before Oliver Skipp added a goal in stoppage time for Tuesday's 3-1 win away to Birmingham City.
Daniel Farke named an unchanged starting line-up from the side that beat Rotherham United 1-0 at Carrow Road on Saturday afternoon, with Jordan Hugill replacing Andrew Omobamidele on the bench.
Birmingham began the first half looking lively, a deep free-kick going all the way to the far post and reaching Gary Gardner who missed the ball.
Ivan Sunjic opened his body up to shoot over the bar moments later, before Norwich had their first chance of the game.
Emi Buendia played a lovely pass out left to Dimitris Giannoulis with the outside of his right foot, and the latter looked to complete the one-two, but Buendia let the ball roll through to Kenny McLean who shot from a tight angle against the chest of the onrushing Neil Etheridge.
Christoph Zimmermann was booked for a high foot before clearing the danger from the resulting free-kick and blocking the following corner that Gardner headed towards goal.
Somewhat against the run of play, Norwich broke the deadlock in the 26th minute with a stylish goal. Giannoulis found McLean coming inside from the left, and he in turn picked out Pukki. The angle narrowing, Pukki smacked it into the far corner with his left foot past Etheridge.
Tim Krul saved a good volley from Maxime Colin and then comfortably caught a bouncing effort from Jeremie Bela.
With ten minutes of the first-half remaining, Norwich had a good chance to double their lead. Etheridge brought down Todd Cantwell in the penalty area, but Pukki missed the penalty as he shot straight down the middle, Etheridge saving with his trailing right foot.
Ivan Sanchez then equalised for the hosts, latching onto the rebound after his initial shot was saved by Krul, Norwich having given the ball away in their own half.
Gardner sent top scorer Scott Hogan through on goal on the brink of half-time, but the latter volleyed over the bar.
Max Aarons then went down holding his left leg but looked like he was able to continue before the half-time whistle was blown at 1-1.
The second half didn't begin with the same tempo the first half ended, but Norwich did look more likely to take the lead again.
McLean lifted the ball forward for Pukki and it dropped for Mario Vrancic who volleyed over the bar.
Norwich then gave the ball away just shy of the hour mark, allowing Bela to cut inside from the left and shoot straight at Krul.
Pukki found himself on the edge of the 18-yard box and crossed for Buendia inside the D, who headed towards the bottom left corner but Etheridge got down to catch it.
Birmingham then had a free-kick come out to Gardner, who sent it high and wide before Farke made his first change, Onel Hernandez coming on for Vrancic.
The Cuban played a lovely pass from a deep position on the left wing to Buendia, who cushioned it first-time into the path of Pukki. Etheridge got to the ball first, however, and Buendia skied the re-bound.
In the end, Hernandez was involved in City taking the lead again. McLean spotted him making a run into the 18-yard box and Hernandez turned back looking for Buendia. His shot ricocheted into Pukki's path, and he was able to trickle it over the line for 2-1 with just under 15 minutes to go.
Kristian Pederson volleyed wide from distance in the 87th minute as Birmingham looked to equalise again.
As Birmingham threw everything at it in the game's dying embers, City countered with Rupp running clean through on goal. Skipp to his right, Rupp selfleslly put the ball on a plate for his midfield partner to put the ball into an open net for 3-1 in the fifth minute of stoppage time.
Three points. Wycombe away up next on Sunday.
Birmingham City: Etheridge (GK), Colin, Dean (c), Clarke-Salter, Pedersen, Gardner (Jutkiewicz 83'), Harper (San Jose 70'), Sunjic, Sanchez (Valery 75'), Bela (Roberts 83'), Hogan
Subs not used: Prieto (GK), Friend, Halilovic, McGree, Leko
Goals: Sanchez (38')
Norwich City: Krul (GK), Aarons, Hanley (c), Zimmermann, Vrancic (Hernandez 64' (Hugill 94')), Cantwell (Rupp 89'), Buendia (Sorensen 94'), Skipp, Pukki (Idah 89'), McLean, Giannoulis
Subs not used: Barden (GK), Dowell, Quintilla, Tettey
Goals: Pukki (26', 76'), Skipp (90+5')
Bookings: Zimmermann (19'), Vrancic (63')
Venue: St. Andrew's
Referee: Oliver Langford