Republic of Ireland striker Callum Robinson tucked home a lovely goal for Championship leaders West Brom but they were pegged back at the death in an entertaining 2-2 draw with Nottingham Forest.
Robinson steered home the opener in the 37th minute at the Hawthorns. Kyle Bartley's own goal cancelled that out before a a Tobias Figueiredo own goal at the other end restored the Baggies' lead.
It looked like they'd hold on for three points but Matty Cash scored an added-time equaliser to snatch a draw.
That allowed second-placed Leeds to reduce the deficit to four points with just their second win in seven league matches courtesy of Luke Ayling's goal against his former club Bristol City.
Victory brought the added bonus of opening up a three-point cushion over third-placed Fulham, who suffered a surprise 3-0 defeat at home to bottom club Barnsley.
Former Cottager Cauley Woodrow (above) opened the scoring with a 24th-minute penalty awarded after Marek Rodak brought down Jacob Brown, with the goalkeeper fortunate not to be sent off.
Brown and Woodrow scored after the break to secure a first win in five league matches.
Brentford moved above Forest into fourth on goal difference after Ethan Pinnock's 17th-minute goal cancelled out Lukas Jutkiewicz's tap-in in a 1-1 draw at Birmingham.
Blackburn moved within three points of the play-offs with a 2-0 win over Charlton thanks to first-half goals from John Buckley and Tosin Adarabioyo.
Rovers overtook Cardiff, who twice came from behind to deny struggling Wigan a vital victory in a 2-2 draw.
Kieffer Moore scored twice for Latics, his second from the spot in first-half added time, after Josh Murphy's half-volley had cancelled out his opener but Marlon Pack's deflected shot 10 minutes after the break earned the hosts a point.
QPR were 4-2 winners at home to Stoke having recovered from 2-0 down.
Bright Osayi-Samuel and Ilias Chair scored after the break following a crazy first half saw four goals scored in 11 minutes.
Stoke went 2-0 up through Sam Clucas and Tyrese Campbell only for Jordan Hugill and Ebere Eze to level things up before the break.
Derby were held to a 1-1 draw at home to Huddersfield after Tom Lawrence's 20-yard shot was cancelled out by Harry Toffolo's equaliser.
Shaun Hutchinson's 78th-minute header was enough to secure a 1-0 win for Millwall at Preston but there was more misery for floundering Sheffield Wednesday, who have not won once since Christmas.
Ovie Ejaria's brilliant through-ball teed up Reading team-mate Yakou Meite for the opener and then Osaze Urhoghide was sent off for a second bookable offence after bringing down Ejaria - the Owls' fifth red card of the season.
Wednesday goalkeeper Cameron Dawson then mishandled George Puscas' shot and Sam Baldock's late penalty made it 3-0.
Ryan Tunnicliffe's first goal of the season was enough for Luton to win 1-0 at Middlesbrough.