Fulham had the chance to overtake Leeds, held by Brentford a day earlier, and things looked promising when Aleksandar Mitrovic met Joe Bryan's curling delivery on the slide after three minutes.
Jon Dadi Bodvarsson poked home the equaliser for Millwall four minutes later despite seemingly being offside and Fulham was handed a reprieve when Jed Wallace whacked a 12th-minute penalty against the bar.
West Brom made hard work of it after Kyle Bartley's handball in the area was followed by George Puscas putting Reading in front from the penalty spot.
But Matheus Pereira levelled on the rebound having seen his 26th-minute volley saved and Bartley went from zero-to-hero with a looping header shortly after Callum Robinson hit the crossbar.
PRESTON, ROBINS IN THE HUNT
Bristol City nervily held on to beat Derby County 3-2 having raced into a three-goal lead after 58 minutes.
Nahki Wells and Filip Benkovic scored their first goals for the Robins and Famara Diedhiou extended the lead in the second half.
Martyn Waghorn and Chris Martin reduced the arrears, but Derby's comeback proved too little too late at Ashton Gate.
It was a more straight-forward evening for Preston, above Bristol City on goal difference alone, as Alan Browne and Tom Barkhuizen earned a 2-0 win at Stoke City, who are just four points above the drop.
HATTERS PILE MISERY ON MONK
Wednesday lost for the sixth time in nine Championship outings as Luton earned a huge win in their relegation dogfight.
The Owls conceded a penalty after just 15 seconds only for James Collins to fire his spot-kick against the crossbar.
But lax defending from Dominic Iorfa allowed Collins to make up for that miss as he added the finishing touch into an unguarded goal from Harry Cornick's lay-off in the 23rd minute to sink the sorry Owls.
Huddersfield remains in trouble after being turned over 3-0 at home by Cardiff, which remains in the play-offs hunt.
Josh Murphy, Will Vaulks and Callum Paterson were all on target for the Bluebirds.