A sublime James Maddison finish gave Norwich a brilliant away win at Bristol City in the Sky Bet Championship.
Bristol City saw most of the ball for the second half, but Norwich created plenty of chances throughout the game, and Maddison made one count by curling into the bottom corner from inside the area.
The result means Norwich are now five games unbeaten and sit six points outside the play-offs.
City made two changes from the side who drew with Chelsea in the Emirates FA Cup. Norwich retained the 3-4-3 formation, with Nelson Oliveira up top in place of the departed Alex Pritchard. With Tom Trybull injured, Mario Vrancic came in alongside Alex Tettey.
The Robins set up in a 4-2-3-1, with Liam Walsh making his home debut at No.10 following his signing from Everton last week.
Both sides were keen to get on the ball and play, mirroring the game at Carrow Road earlier this season. Norwich’s front three was flexible, and were pressing the backline and goalkeeper Frank Fielding from the off, winning a series of throw-ins.
The first half chance of the game fell to Bristol City in the 8th minute when a corner was floated to the edge of the area, but Marlon Pack miscued his volley and sliced it well wide.
Ten minutes later and the Canaries had their first proper effort, Maddison picking up a loose ball in midfield, driving forward and forcing Fielding into a good diving save with a 20-yard drive.
Norwich almost took the lead after a mistake from Walsh in midfield let in Maddison, who played through Josh Murphy on the left. He cut outside and sent a shot past Fielding from a tight angle but Nathan Baker slid in brilliantly to clear it off the line.
With the game quite open in midfield, both sides were enjoying good possession without creating too many clearcut chances. On 33 minutes Ivo Pinto headed a corner away, and it led to a City break. Mario Vrancic slipped in Nelson Oliveira, but with plenty still to do, he was well tracked by Baker and his shot was blocked.
Two minutes later a Maddison corner caused panic in the box, with Bristol City putting in three desperate blocks before Grant Hanley scooped over under pressure from close range.
The Robins upped the pressure in the final 10 minutes of the half, but were struggling to create anything and it was Norwich who came close in quick succession just before the break.
First a swift counter-attack was led by Murphy, who dribbled inside and curled a shot just wide of the far post from 20 yards. Then Oliveira was played clean through, but with the last touch of the half drilled an inch wide of the post from the edge of the area.
Bristol City came out blazing at the start of the second half, with Norwich’s back three winning a series of balls into the box as they came under real pressure for the opening 15 minutes. Despite Bristol's possession, the closest they came in that spell was a thumping 25-yard effort from Josh Brownhill that struck the corner of the crossbar and post.
Norwich went close for the first time in the second half with 22 minutes remaining, Hanley rising highest from a Maddison corner but his header was powered wide.
The match started to open up as Norwich grew back into it, with Murphy cutting inside and curling one just wide from the edge of the area in the 73rd minute.
The Canaries were beginning to threaten more and they were rewarded with 11 minutes remaining. A brilliant ball from Vrancic in midfield picked out Pinto on the right, who brought it down on the edge of the area and knocked it into Maddison’s path, who'd pulled away to create space for himself. He took a couple of touches inside and curled it into the bottom far corner to send the Norwich fans behind the goal wild.
City made their first substitution in the 89th minute, with Marco Stiepermann coming on to replace Murphy as Norwich looked to see the game out. But Bristol City have scored plenty of goals this season, and they threw everything at Norwich in seven minutes of injury time.
They looked certain to equalise in injury time as the impressive Zimmermann brilliantly blocked a chance in the box, before Gunn pulled off a sensational save from Brownhill, stretching out a strong right hand to keep out his effort from 10 yards.
Sean Raggett came on to make his debut in injury time as Norwich saw out a series of Bristol City free-kicks to earn a brilliant win and take the three points back to Norfolk.