Norwich City's 12-game unbeaten run was ended in a pulsating 4-3 defeat at home to Derby County.
City dominated the opening half-an-hour and stormed to a two goal lead thanks to low finishes from Ben Godfrey and Teemu Pukki.
However, Derby recovered and managed to go into the break level, with Fikayo Tomori and Mason Mount profiting from failed set-piece clearances.
The Canaries then regained the lead with Pukki's second in the 80th minute but the game was then paused for 15 minutes after a floodlight in the Regency Security Stand failed.
Derby emerged from the delay the better and turned the game on its head with goals from Florian Jozefzoon and Jack Marriott proving the difference, despite substitute Jordan Rhodes rattling the crossbar with the last kick of the contest.
Daniel Farke made two changes to his starting eleven from the match with Nottingham Forest on Boxing Day. Christoph Zimmermann returned after illness and replaced the injured Jamal Lewis. Stoppage-time hero Onel Hernandez also came back in for Emi Buendia.
City started on the front foot and went close to threatening the Derby goal on two minutes when a header from Todd Cantwell went narrowly wide following a cross from Hernandez.
Shortly after a Harry Wilson free-kick had hit the wall, City almost took the lead when Alex Tettey won possession high up the pitch. The loose ball fell to Stiepermann who threaded an off-balance Pukki through and he did well to readjust and find Hernandez. The City winger’s low shot was beaten away well by Scott Carson though.
Moments later, Tettey got on the end of a Hernandez lay-off but he curled just wide from the edge of the area.
But City managed to get a reward for their dominant start on 25 minutes. Mario Vrancic clipped a pinpoint pass to the right side of the penalty area and to Marco Stiepermann who drilled a simmering low ball right across the six-yard box for Ben Godfrey to divert home for his first league goal for the Club.
Within five minutes, it was two. Wilson was dispossessed by a combination of Tettey and Vrancic and that allowed the latter to carry the ball deep into the Derby half. He timed his pass to perfection and that enabled Pukki to slot the ball into the bottom corner.
However, Derby manage to pull a goal back to add to an action-packed first-half. A corner was played short and eventually pumped into the box by Florian Jozefzoon and City failed to clear which allowed Tomori to lash a superb strike in off the crossbar.
Derby had managed to change the complexion of the first-half completely and almost had an equaliser when Jack Marriott raced clear, although Tim Krul did well to force him wide and prevent the shot from going in.
In first-half stoppage-time, Derby had their equaliser. Once again, City failed to clear from a set-piece and that allowed Mount to fire past a sea of bodies and into the net.
The game resumed and continued its frenetic nature - there was action in both boxes in the opening minutes but both defences managed to clear the danger.
After that, the game became a little scrappy and neither side were able to build an attack that warranted a goal. However, a mistake by City almost game Derby the lead to the hour mark but they recovered well and deflected Marriott's strike over the crossbar.
That seem to kick City into gear and they began to up the ante and increase the volume inside Carrow Road, but for all their pressure they struggled to threaten Carson's goal with their opponents defending well.
The game was finely poised head into the final 15 minutes and City was still alert for a winner. On 77 minutes, Vrancic dispossessed Tomori and surged forward, before exchanging passes with Hernandez and shooting low but straight into the arms of Carson.
Shortly after Tettey skied an effort from the edge of the box, City regained the advantage. Hernandez found himself in the area and hit a cross-cum-shot across the area for Pukki to tap home at the back post.
The celebrations were short lived though as the game was suspended for 15 minutes as one of the floodlights failed. Once play resumed, there were nine minutes plus stoppages left on the clock.
Farke then introduced Tom Trybull for some fresh legs in the City midfield. However, Derby managed to find an equaliser for the second time in the game. Substitute David Nugent managed to squeeze the ball across the face of goal and Jozefzoon diverted the ball home.
Derby’s second recovery of the game was completed in the 90th minute when Marriott stole the ball and lifted it over Krul.
As Carrow Road has seen often this season, the Canaries never gave up and almost salvaged a point when Carson spectacularly thwarted Cantwell and Rhodes hit the crossbar with the last kick.