QPR’s play-off hopes were dramatically kept alive by Luke Amos’ late winner.
Amos’ goal and an astonishing comeback by Reading, who drew 4-4 with Swansea after being 4-1 down, meant Derby’s relegation from the Championship was confirmed.
Wayne Rooney’s side ended the match with 10 men after Tom Lawrence was sent off after being shown a second yellow card following a challenge on Charlie Austin in the final seconds.
The deadlock was broken with two minutes remaining. Ilias Chair played the ball in from the left to Lyndon Dykes, who in turn laid to his right and the unmarked Amos.
Midfielder Amos calmly slotted past keeper Ryan Allsop to give his team at least a chance of a top-six finish.
Amos had an early goal disallowed when keeper Kieren Westwood’s long kick was headed on by Dykes to the former Tottenham man, who nudged the ball past Allsop and slotted into an empty net but was adjudged to have been offside.
And Luke Plange missed a glorious chance to put Derby ahead, heading Lawrence’s left-wing free-kick against the top of the bar from close range.
Another Lawrence set-piece, this time a corner from right, caused more problems for Rangers shortly before the interval, with Krystian Bielik volleying over after Westwood’s fumble.
With Reading behind at half-time, boss Rooney will no doubt have told his players that had a potential opportunity to somehow stay up.
But it was QPR who were on the front foot for much of the second half.
They almost took the lead a couple of minutes after the restart when Chair cut in from the left and saw his right-footed strike pushed over by Allsop, who also kept out a long-range effort from Dykes.
Derby did threaten in the later stages, with Malcom Ebiowei causing QPR major problems on the right flank.
Andre Dozzell diverted an Ebiowei cross narrowly wide of his own goal and Nathan Byrne was denied at point-blank range by Westwood before Amos’ third goal in five matches and sixth of the season gave Rangers the points.
QPR: Westwood, Odubajo (Kakay 57), Dunne, Sanderson, McCallum, Field, Dozzell (Johansen 75), Amos, Chair, Thomas (Austin 70), Dykes.
Subs not used: Mahoney, Gray, Adomah, Ball.