Norwich fightback stuns Millwall

Getty Images

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.

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

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

The visitor 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 – unbeaten in six league games - could have also gone above Leeds temporarily, but John McGinn, Tammy Abraham and Conor Hourihane all registered in a 10-minute second-half spree to earn Villa a third straight win.

Nottingham Forest failed to leapfrog rival Derby 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 challenger Blackburn Rovers needed a Bradley Dack equaliser in a 1-1 draw with Rotherham United.

Che Adams's hat-trick was not enough to earn the win for Birmingham City, which 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 visitor ahead before later being taken from the field on a stretcher with an apparent head injury.

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

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