Scott Hogan scored twice in three first-half minutes as Aston Villa beat Barnsley 3-1 to narrow the gap on second-placed Derby to three points.

Hogan's double was followed up by Dimitri Cavare's goal for Barnsley, with ex-Tyke Conor Hourihane adding a third for Villa.

Championship leaders Wolves were stunned 2-0 by Nottingham Forest at Molineux. Kieran Dowell and Ben Osborn were on target for Aitor Karanka's side.

Jed Wallace scores the winner for Millwall against Leeds United at Elland Road on Saturday

Millwall won a quite incredible game against Leeds 4-3 at Elland Road.

Aiden O'Brien put the Lions ahead and when home captain Liam Cooper was sent off, it was three red cards in as many games for the hosts,

Lee Gregory then scored to seemingly put the game to bed, before Pierre-Michel Lasogga got Leeds back in it.

Kemar Roofe then scrambled an equaliser and Lasogga thought he had won it with a 25-yard effort. But Tom Elliott levelled three minutes from time and Jed Wallace secured the win in time added on.

Kieran Dowell and Ben Osborn scored for Nottingham Forest in stunning win at Wolves

Sheffield United enjoyed a 2-1 triumph on the road at Norwich.

Manchester United loanee James Wilson opened the scoring and Clayton Donaldson added a second. Ivo Pinto replied but it was not enough.

Ben Davies' goal put Preston ahead against Birmingham, only for Sam Gallagher to earn City a 1-1 draw, while Tony Pulis and Middlesbrough won on the road at QPR thanks to goals from Daniel Ayala, George Friend and Adama Traore.

Joel Asoro's goal proved enough for struggling Sunderland as they pulled Hull closer to trouble with a 1-0 win, while Gary Madine's for Bolton was replied to by Joe Garner as they drew 1-1 with Ipswich.

Brentford won 1-0 at Reading thanks to Lasse Vibe's goal.