Leeds United ended a three-match winless run in the Championship as Luke Ayling's early strike earned Marcelo Bielsa's side a 1-0 victory over Bristol City.
That moved Leeds back to just four points behind leaders West Brom, who were held 2-2 at home by Nottingham Forest after Matty Cash's late leveller for the visitors at the Hawthorns.
Third-placed Fulham were thumped 3-0 at home by bottom-of-the-table Barnsley, while Brentford nudged above Forest and into fourth place thanks to a 1-1 draw at Birmingham.
Preston, who sit sixth, suffered a 1-0 defeat at home to Millwall, further muddying the play-off picture in the English second tier.
Leeds emerge from a storm
With their promotion hopes hurt by recent defeats to Forest and Wigan, a midweek draw with Brentford offered Leeds some encouragement. They have made slumping after strong starts a familiar trait, yet Saturday's narrow success put their promotion push back on track.
Ayling, a former Bristol City player, drove home from eight yards in the 16th minute, his left-footed strike coming after the ball pinged around the penalty area.
In blustery conditions, Helder Costa should have scored a second for Leeds when he went around Daniel Bentley but allowed the City goalkeeper to get back to make a desperate save.
The conditions were far from helpful, with litter from the stands blowing across the pitch, but Leeds held strong to reignite their promotion push.
West Brom and Forest played out an entertaining four-goal game in the early kick-off, but the Baggies' three-match winning run is over and that will give the likes of Leeds encouragement.
Callum Robinson fired West Brom ahead after 37 minutes, before Kyle Bartley's own goal levelled up the game by half-time. A second own goal, this time from Tobias Figueiredo, restored West Brom's lead and looked set to bring the hosts maximum points.
Yet a twist in the narrative arrived in the first minute of stoppage time, with Cash driving forward and cracking in a sublime leveller, a ferocious finish that arrowed across Sam Johnstone and into the far left corner.
Chasing pack step off the pace
Scott Parker saw his Fulham side flop against Barnsley, with Cauley Woodrow's double - the first a penalty - and Jacob Brown's fine strike giving the Tykes a stunning Craven Cottage win and a glimmer of hope in their attempt to beat the drop.
The goals came early at St Andrew's where Birmingham took a 13th-minute lead against Brentford through Lukas Jutkiewicz, with Ethan Pinnock grabbing an equaliser four minutes later.
Stoke led QPR 2-0 after 31 minutes at Loftus Road but crumbled to a 4-2 defeat, Bright Osayi-Samuel and Ilias Chair grabbing late goals for the London side. Ryan Tunnicliffe's strike gave Luton a 1-0 win at Middlesbrough, and Shaun Hutchinson headed Millwall to their victory at Preston.
Ten-man Owls humbled
Cardiff CIty drew 2-2 at home against Wigan, while Yakou Meite, George Puscas and Sam Baldock, with a stoppage-time penalty, netted as Reading romped home 3-0 at Sheffield Wednesday, who had Osaze Urhoghide sent off early in the second half.
John Buckley and Tosin Adarabioyo cracked in first-half goals at The Valley as Blackburn were 2-0 winners against Charlton, nudging Rovers closer to the play-off picture.
A 25-yard strike from Tom Lawrence gave Derby County the lead at home against Huddersfield, but it finished 1-1 at Pride Park after a surging run and smart finish from Harry Toffolo.