Match ends, Bristol City 1, Norwich City 3.
Norwich City extended their unbeaten run to five Championship games as they beat Bristol City in an entertaining encounter at Ashton Gate.
Teemu Pukki scored two early goals for the Canaries to set the pace for a pulsating first half, with Jack Hunt pulling one back shortly after the Finn's second strike.
Both goalkeepers then made excellent saves before Emiliano Buendia's wonderfully-taken goal saw Norwich lead 3-1 at the break.
Chris Martin hit the post from 25 yards for the hosts after an hour before Nakhi Wells missed a 75th-minute penalty, awarded for a foul by Jacob Sorensen, as he embarrassingly tried to dink the ball down the middle over the goalkeeper but put it over the bar.
The win moved Norwich into fourth place, while Bristol City drop into 10th position.
The Robins struggled to contain Norwich's movement up front as time and again the likes of Pukki got in behind their centre-backs.
He got on the end of Marco Stiepermann's through-ball and fired under Daniel Bentley for the early opener before his excellent run was picked out by Jacob Sorensen's pass from halfway and his shot just inside the penalty area went in via a deflection off Tomas Kalas to double the lead.
City responded instantly as Jamie Paterson broke down the left and had a shot palmed away by Tim Krul, but the forward cleverly played the rebound across the face of goal for the onrushing Hunt to fire in from close range.
Pukki went close again before City had two good chances to level through Wells - the striker curling a shot from the edge of the box just wide before a great first touch from a Hunt cross had put him in a perfect position to score but he fluffed his chance.
Krul was forced into a fine diving save 10 minutes before the break as Martin rose highest to head a corner towards the bottom corner and soon after Bentley did well to block Buendia's effort with his face at the other end after the Argentine was found by Przemyslaw Placheta.
Both sides seemed content to consolidate their positions to half-time, but Buendia produced a moment of class to score Norwich's third as he superbly brought down Ben Gibson's long ball and shot into the bottom corner with the home side's defence caught out of position.
Norwich had further off-target efforts from Stiepermann and Lukas Rupp before Bristol City switched to three centre-backs from a back four - a decision which seemed to shore them up defensively.
Martin's effort against the woodwork came just a couple of minutes after the change, while Wells had a weak shot saved from a floated free-kick into the area before his penalty miss and he was taken off soon after.
The Canaries could have added a fourth as the half went on but Bentley did well to save from Placheta and Buendia as the visitors threatened until the end.
Bristol City manager Dean Holden told BBC Radio Bristol:
"It was a poor start, defensively right throughout the team in the first half we were too open, we gave them too many opportunities - two of the goals are long straight passes right down the middle of our back line.
"We got back into it with the goal, I thought we had the momentum in the first half, I thought we were in control of the game. They've got good players who'll give you problems, but to concede when we did right on half-time was a sucker punch.
"It was a wasteful penalty, we've spoken about it after the game. He puts them away in training every day, he practises every day, he's not scored that one and we have to move on."
Norwich City manager Daniel Farke told BBC Radio Norfolk:
"It was a good performance, we were pretty clinical in front of the goal in a top-class first half.
"With the three goals we scored, we spoke about wanting to improve our efficiency and today was three brilliant team goals and a fantastic final pass for the first goal by Marco Stiepermann, what a pass it was.
"Overall it was a well-deserved win, we could have scored a fourth goal."
Line-ups
Bristol City
Formation 3-5-2
- 1Bentley
- 26Vyner
- 22Kalas
- 23MooreSubstituted forBakinsonat 57'minutes
- 2Hunt
- 11O'Dowda
- 29BruntSubstituted forSemenyoat 76'minutes
- 10Paterson
- 3Dasilva
- 21WellsSubstituted forDiédhiouat 78'minutes
- 7Martin
Substitutes
- 4Nagy
- 9Diédhiou
- 12O'Leary
- 18Semenyo
- 25Rowe
- 30Bakinson
- 42Massengo
Norwich
Formation 4-2-3-1
- 1KrulBooked at 73mins
- 2Aarons
- 5Hanley
- 34GibsonBooked at 66mins
- 19Lungi SørensenBooked at 60mins
- 20Skipp
- 7RuppBooked at 77mins
- 17Buendía
- 18StiepermannSubstituted forMcLeanat 72'minutes
- 11PlachetaSubstituted forMumbaat 90+1'minutes
- 22PukkiSubstituted forHugillat 84'minutes
Substitutes
- 8Vrancic
- 9Hugill
- 14Cantwell
- 23McLean
- 26Mumba
- 27Tettey
- 33McGovern
- Referee:
- Jarred Gillett
Match Stats
- Possession
- Home44%
- Away56%
- Shots
- Home15
- Away19
- Shots on Target
- Home6
- Away8
- Corners
- Home5
- Away4
- Fouls
- Home8
- Away16
Live Text
Post update
Full Time
Second Half ends, Bristol City 1, Norwich City 3.
Post update
Foul by Jordan Hugill (Norwich City).
Post update
Zak Vyner (Bristol City) wins a free kick in the attacking half.
Post update
Attempt blocked. Chris Martin (Bristol City) right footed shot from outside the box is blocked. Assisted by Antoine Semenyo.
Substitution
Substitution, Norwich City. Bali Mumba replaces Przemyslaw Placheta.
Post update
Attempt missed. Emiliano Buendía (Norwich City) right footed shot from outside the box misses to the left. Assisted by Oliver Skipp.
Post update
Jordan Hugill (Norwich City) wins a free kick on the left wing.
Post update
Foul by Zak Vyner (Bristol City).
Post update
Attempt saved. Jamie Paterson (Bristol City) right footed shot from outside the box is saved in the centre of the goal. Assisted by Tyreeq Bakinson.
Post update
Foul by Emiliano Buendía (Norwich City).
Post update
Tomas Kalas (Bristol City) wins a free kick in the defensive half.
Post update
Attempt saved. Emiliano Buendía (Norwich City) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Przemyslaw Placheta with a cross.
Post update
Grant Hanley (Norwich City) wins a free kick in the defensive half.
Post update
Foul by Chris Martin (Bristol City).
Post update
Foul by Emiliano Buendía (Norwich City).
Post update
Jay Dasilva (Bristol City) wins a free kick on the left wing.
Post update
Attempt missed. Grant Hanley (Norwich City) header from the right side of the six yard box misses to the right following a corner.
Substitution
Substitution, Norwich City. Jordan Hugill replaces Teemu Pukki.
Post update
Corner, Norwich City. Conceded by Jack Hunt.