Norwich City produced a stunning late comeback to beat Millwall in a seven-goal thriller, while Jordan Hugill opened his Championship account for Middlesbrough in a comfortable win over Wigan Athletic.

It looked as though the Canaries were heading for a surprise home defeat having trailed 3-2, but injury-time goals from Teemu Pukki and Jordan Rhodes secured a breathless 4-3 win.

Daniel Farke's side consequently go top of the table, although Leeds United will reclaim top spot if they take a point against West Brom in Saturday's evening kick-off.

Boro also go, at least momentarily, into the top two, as they defeated Wigan 2-0, but Derby County suffered a heavy defeat at home to Aston Villa.

CANNY CANARIES SHOCK MILLWALL

Norwich, fresh from a 4-0 battering of Sheffield Wednesday last weekend, were leading with 11 minutes remaining at Carrow Road as goals from Pukki and Moritz Leitner cancelled Tom Elliott's opener.

But the visitors appeared to be on the way to the points when Ryan Leonard and Jed Wallace scored in quick succession to put Millwall in front.

However, with the clock edging into additional time, Rhodes slotted home and more late drama was to come when Pukki converted his second of the game.

Hugill's only goal for Boro this since joining on loan from West Ham had come in an EFL Cup tie against Rochdale in August, but he opened his account from the penalty spot after George Friend was felled and he then hammered home a second from Martin Braithwaite's cross.

Derby – who were unbeaten in six league games - could have also gone above Leeds, but John McGinn, Tammy Abraham and Conor Hourihane all registered in a 10-minute second-half spree to earn Villa a third straight win.

FOREST HELD, GOALS GALORE AT THE CITY GROUND

Nottingham Forest failed to leapfrog rivals Derby County after playing out a goalless draw at home to Stoke City.

Barrie McKay's stunner moved Swansea City up to seventh with a 1-0 win at Bolton Wanderers, while fellow play-off challengers Blackburn Rovers needed a Bradley Dack equaliser in a 1-1 draw with Rotherham United.

Che Adams' hat-trick was not enough to earn the win for Birmingham City, who had to recover from a brilliant Hull City fightback in a 3-3 draw.

Adams had helped Garry Monk's men to a 2-0 half-time lead, but Fraizer Campbell's double and Kamil Grosicki's strike put Hull in front before Adams had the last say six minutes from time.

There were plenty of goals at Loftus Road too, as QPR beat Brentford 3-2. The league's top scorer Neal Maupay put the visitors ahead before later being taken from the field on a stretcher with an apparent head injury.

But Massimo Luongo, Joel Lynch and Nahki Wells put QPR in control by the hour and Henrik Dalsgaard's goal proved a consolation.

Elsewhere, Preston were 1-0 winners at Bristol City and Reading played out a 2-2 draw with rock-bottom Ipswich Town.