Tom Elliot headed the Lions ahead after 24 minutes before Teemu Pukki tapped in Marco Stiepermann’s pass to equalise just after the break.
Norwich then earned a penalty after Murray Wallace unintentionally handballed Onel Hernandez’s goal bound shot. Pukki produced a poor penalty which Ben Amos was able to comfortably save.
Mortiz Leitner then bent in a deflected Max Aarons’ shot to give the Canaries a 2-1 lead entering the final ten minutes of play.
Ryan Leonard and Jed Wallace then netted a quick-fire double to put Millwall in control at 3-2 entering injury time.
Norwich however produced a stunning comeback as Jordan Rhodes turned in the equaliser before Pukki claimed his second after squeezing in from a tight angle to send them top and wrap up a 4-3 victory. Millwall meanwhile sit above relegation zone on goal difference.
Middlesbrough meanwhile moved back up into automatic promotion spots after Jordan Hugill grabbed a late first half double to seal victory over Wigan.
Their wins meant that Leeds dropped to third after a 4-1 thrashing by West Bromwich Albion, as the Baggies moved back up to fifth after a dip in form lately.
Sheffield United split them in fourth after the ‘Steel City’ derby ended goalless against Sheffield Wednesday, whilst Derby cling on to the final play-off spot despite a late three goal thumping by Aston Villa.
Down at bottom, Ipswich remain bottom after letting the lead slip twice at Reading in a 2-2 draw, with Yakou Meite netting his second double in two of the Royals’ last three home games.
Bolton meanwhile fell into the bottom three for first time this season after Barrie McKay’s first half screamer proved the difference, as Swansea City collected only their second ever win at the University of Bolton Stadium.
The Trotters’ slide meant that Hull moved above them but sit just below Millwall on goal difference, after clinching a 3-3 draw at Birmingham City.
Elsewhere, QPR quickly put last week’s defeat at Blackburn Rovers behind them after seeing off Brentford 3-2 whilst Rovers rescued a late one all draw through Bradley Dack, after Michael Smith had headed Rotherham ahead.
Preston North End collected their first away league win of season after seeing off Bristol City as Callum Robinson on his 150th club appearance, tucked in Daniel Johnson’s pass.
Finally, Nottingham Forest sit just a point outside the top six after goalless draw against Stoke City.