Sheffield United moved back ahead of Leeds United as the battle for the second automatic promotion spot in the Championship intensified on Saturday.
The Blades, who had fallen behind their Yorkshire rivals last weekend, battled to a 1-0 win at Preston North End, while Leeds fell to a shock loss at Birmingham City.
Leaders Norwich City prevailed in the early kick-off, thrashing QPR, while Aston Villa's fine form continued with a dramatic win at Sheffield Wednesday.
Meanwhile, Bristol City, Derby County, Middlesbrough and Nottingham Forest all dropped points in pursuit of a play-off spot.
In the fight for survival, Bolton Wanderers' misery continued with a loss to Ipswich Town, but there were big wins for Rotherham United and Millwall.
BLADES STAY SHARP TO RECLAIM SECOND
It has been a thrilling battle between the Blades and Leeds and this weekend belonged to Chris Wilder's men.
David McGoldrick's first-half goal settled matters at Deepdale, where Preston's top-six hopes took a hit.
But it was Marcelo Bielsa's men who suffered arguably the biggest shock of the day, beaten 1-0 by a Blues side who had lost five on the bounce.
Che Adams' goal proved decisive and came just after Patrick Bamford had struck the post for Leeds.
Those results came after Norwich had thrashed QPR 4-0 at Carrow Road, with Teemu Pukki on target twice as the Canaries moved seven points clear heading into the final six games.
BRUCE TASTES BITTER DEFEAT
Wednesday boss Steve Bruce faced his former employers at Hillsborough and saw his side ship two late goals in a 3-1 loss.
It was 1-1 heading into injury time, with Albert Adomah and Tammy Abraham netting to boost Villa's promotion hopes.
Dean Smith's charges are now fifth after a sixth league win on the bounce.
As for Wednesday, their dreams of a late surge into the top six look to have been ended.
PLAY-OFF HOPEFULS STUTTER
It was not only the Owls who fluffed their lines on Saturday, with Derby held to a thrilling 3-3 draw at Brentford.
Frank Lampard's side, who led three times, remain two points behind sixth-placed Bristol City, who also had to settle for a point following Nathan Byrne's last-gasp leveller for Wigan Athletic.
Tony Pulis' Boro lost 3-1 at Swansea City, and Forest were beaten 2-1 by lowly Rotherham.
TENSION BUILDS IN SURVIVAL BATTLE
That win for the Millers, who occupy the final relegation spot, put them within a point of Reading.
The Royals lost 3-1 at Hull City, while Millwall moved a point clear of the danger zone thanks to a 2-0 home win over high-flying West Brom.
Ahmed Hegazi in particular had a day to forget for the Baggies, scoring an own goal and seeing red.
Bolton, whose very future hangs in the balance, could find no solace on the pitch as Collin Quaner's double saw rock-bottom Ipswich to a 2-1 win.
Elsewhere, Stoke City prevailed 1-0 at Blackburn Rovers.Published 06 Apr 2019, 22:58 IST