Norwich were denied the chance to return to the top of the Sky Bet Championship despite Max Aarons salvaging a point in a gripping 2-2 draw with Bristol City at Ashton Gate.
The Canaries took the lead thanks to a delightful curling effort from Marco Stiepermann (39), but Famara Diedhiou benefited from Andreas Weimann's persistence to equalise on the stroke of half-time.
Callum O'Dowda latched onto Marlon Pack's pass from halfway and struck a shot off the underside of the crossbar to give Lee Johnson's men the lead (53), but Aarons headed home Onel Hernandez's cross to level for Norwich (78).
Bristol City: Maenpaa (5), Pisano (6), Kalas (6), Baker (6), Kelly (6), Pack (7), Weimann (7), Brownhill (6), Paterson (6), O’Dowda (8), Diedhiou (7)
Subs: Watkins (4)
Norwich: Krul (6), Aarons (7), Zimmermann (6), Godfrey (5), Lewis (5), Tettey (6), Vrancic (6), Buendia (6), Stiepermann (7), Cantwell (5), Pukki (6)
Subs: Hanley (5), Hernandez (7), Rhodes (n/a)
Man of the match: Callum O'Dowda
Jordan Rhodes had a late tap-in ruled out, meaning Daniel Farke's men drop to second, a point behind Leeds, while the hard-earned point sees the Robins stretch their unbeaten run to four.
On their journey to the top of the Championship, Norwich had suffered just one defeat on the road all season, but they were put on the back foot from the first whistle by a Bristol City side oozing confidence.
Canaries stopper Tim Krul claimed a low Diedhiou effort from 30 yards, but little could have prepared the Dutchman for what was to come as he was forced to acrobatically tip over rasping shots from Jamie Paterson and Josh Brownhill in quick succession.
In spite of this, it was the visitors who struck first against the run of play and when they did, it was a thing of beauty; Stiepermann took Teemu Pukki's pass into his stride and sumptuously tucked the ball into the far corner.
The visiting backline perhaps should have done better to prevent Weimann picking out Diedhiou to sidefoot a relatively tame effort past Krul and though Norwich started the second half the brighter, O'Dowda soon turned the game on its head.
Lee Johnson made two changes to his Bristol City side following last weekend's win over Birmingham; Nathan Baker and Callum O'Dowda replaced Niclas Eliasson and Adam Webster, who was ruled out with an Achilles injury. Norwich, meanwhile, were unchanged.
Pack spotted the run of the winger on the left flank and held off Christoph Zimmermann to give the hosts the lead via both a deflection and the underside of the bar. It was a fitting move that perfectly complimented their performance.
But a double change from the hosts was the catalyst for earning a share of the spoils. Hernandez turned Diedhiou inside out and dispatched a cross to the far post which Aarons dramatically planted beyond Niki Maenpaa.
Man of the match - Callum O'Dowda
One of several standout players for the hosts, the 23-year-old turned in a stellar shift for Johnson's men at Ashton Gate and was rewarded with his first goal of the season as a result.
His delivery from crosses and balls forward in search of Diedhiou caused all sorts of problems for the Norwich defence and showed his value in leading counter-attacks and drawing fouls.
Lee Johnson: "I thought it was a good performance; The boys were energetic, bright and played some good football. I think Tim Krul has made four or five fantastic saves along the way and it was a hard fought game.
"I thought it was a good advert for the Championship and for Bristol City, but I'm disappointed we didn't hold on to the win, but also very pleased with the players and their performance."
Daniel Farke: Good point so we are very pleased - it's a tough place to go. It's not easy to come back but we were capable of doing this; Bristol City were organised and it was difficult to create chances.
"We have several problems today and I didn't want to mention it before the game, but we had problems with the flu: four or five players were not able to sleep last night and had some problems. But we showed great character and it was perhaps not our best game, but, generally, it was a good point and I'm pleased."
Both Bristol City and Norwich face away trips in their final league fixtures before Christmas. City face Derby at Pride Park next weekend, while the Canaries travel to Ewood Park to take on Blackburn.