Crewe scored a brace against QPR to keep their hopes of avoiding the drop alive.
Kenny Lunt and David Vaughan scored either side of half-time to give boss Dario Gradi a glimmer of hope of beating relegation.
But QPR suffered their second defeat in the week despite a late goal from Gareth Ainsworth.
The basement side started well and were unfortunate not to have been awarded a penalty in the 14th minute when Luke Rodgers appeared to be man-handled by Danny Shittu.
Lunt then had a shot from distance which stung the palms of veteran Paul Jones, but QPR soon took control of the game.
Lee Cook's free-kick forced Ross Turnbull to make a save while Paul Furlong's shot from 12 yards sailed harmlessly wide.
The striker came even closer in the 37th minute when he connected well with Cook's cross from the left flank but could only plant his header into the goalkeeper's hands.
As Rangers looked to be imposing their authority on the game, Crewe caught them with a sucker punch.
Lunt started and finished the best move of the half with a cracking strike past Jones. The midfielder played a clever one-two with Gareth Taylor before firing his left-footed drive into the bottom corner.
Immediately after the re-start Crewe should have doubled their lead. Rodgers was again involved, playing a teasing cross into the QPR area, but Lee Bell's effort was well saved by the outstretched Jones.
The save seemed to spark this game to life as QPR went on the attack and Mauro Milanese surged down the left before playing an inviting pass for Furlong. The striker miscued his shot while Ainsworth hopelessly trod on the loose ball.
Milanese then fired into the side netting before Ainsworth's close-range toe-poke was saved by Turnbull with his legs.
But any hopes of stealing a point were dashed in the 74th minute when substitute Vaughan latched on to Steve Jones' pass to fire past the keeper.
Ainsworth then struck in the 89th minute to give QPR some consolation but it was too little too late.