Irish defender Jimmy Dunne scored an 89th-minute winner as QPR came from behind to beat Preston 2-1 and extend their unbeaten run in the Championship to seven matches.
Milutin Osmajic took advantage of Steve Cook tumbling to the ground injured and put the visitors ahead after 21 minutes.
But Rangers overcame that setback and Rayan Kolli’s third goal in his past four appearances hauled them level.
Preston, themselves unbeaten in their previous six games, were reduced to 10 men with seven minutes left when Liam Lindsay picked up a second yellow card for a challenge on Kieran Morgan.
Premier League round-up: Gabriel Jesus haunts Crystal Palace again as Arsenal close gap at top
Jimmy Dunne scores late winner as in-form QPR come from behind to beat Preston
New boss Ivan Juric ready for ‘really big challenge’ at Southampton
‘Proud’ Pep Guardiola defends Erling Haaland as Manchester City’s miserable run continues
And the hosts took advantage, with Dubliner Dunne heading in Ilias Chair’s cross at the far post.
Callum Lang scored all four goals for Portsmouth in their victory over Coventry while Hull claimed their first win under Ruben Selles as both clubs climbed out of the Championship relegation zone.
Hull started the day rooted to the foot of the division and without a victory in 13 matches but changed both of those facts with a much-needed 2-1 home win over Swansea.
Mason Burstow’s 80th-minute strike earned new boss Selles his maiden Tigers victory, after Harry Darling’s fine header cancelled out Joao Pedro’s deflected opener for the hosts.
Improving Portsmouth also moved out of bottom three after Lang starred at Fratton Park in another of the day’s early games.
Norman Bassette had given Frank Lampard’s visitors the lead inside 150 seconds but Lang, who had not previously scored a professional hat-trick, turned things around with a magnificent individual performance.
Those results saw Plymouth drop to bottom spot following a breathless 3-3 draw with high-flying Middlesbrough at Home Park.
Wayne Rooney’s Pilgrims led three times through efforts from Lewis Gibson, Darko Gyabi and Mustapha Bundu, but Boro responded each time with goals from Jonathan Howson, Hayden Hackney and Emmanuel Latte Lath.
At the other end of the table, there was little change with top four Sheffield United, Leeds, Burnley and Sunderland all picking up wins.
Kieffer Moore kept Sheffield United top with a quickfire second-half brace earning the Blades a 2-0 win over his former employers Cardiff. Moore has made a habit of scoring at the Cardiff City Stadium having previously netted for the hosts, Wales and Ipswich, and he made the difference this time around.
Leeds stayed within three points after brushing aside Oxford 4-0 thanks to goals from Dan James, Jayden Bogle, Brenden Aaronson and Manor Solomon, while Burnley remain a point further back after edging out fellow promotion hopefuls Watford 2-1.
Jaidon Anthony and Josh Brownhill put Burnley in control and, although Kwadwo Baah’s 80th-minute goal threatened to make things interesting, the seventh-placed Hornets could not avoid a first defeat in seven games.
Fourth-placed Sunderland kept the heat up on the top trio but had to come from behind to beat 10-man Norwich 2-1 at a windswept Stadium of Light. Anis Ben Slimane gave the Canaries a half-time lead but Daniel Ballard and Jobe Bellingham struck either side of the 72nd-minute dismissal of Jose Cordoba.
In-form Blackburn were unable to make it a clean sweep for the top five as they suffered a last-gasp defeat at a Millwall side under the caretaker charge of David Livermore.
Mihailo Ivanovic headed home deep into stoppage time as Rovers’ bid for a seventh successive win and sixth successive clean sheet were wrecked in dramatic fashion.
Sheffield Wednesday overcame the first-half dismissal of Di’Shon Bernard to beat Stoke 2-0 thanks to second-half goals from Josh Windass and Callum Paterson.