Scott Malone's injury-time equaliser salvaged a point for relegation-threatened Millwall at Loftus Road.
- Related Content
Charlie Austin netted a 77th-minute penalty - his 17th goal of the season - after a handball by substitute Simeon Jackson.
But the south London side hit back and Shaun Williams almost levelled when his free-kick hit the crossbar, before Malone scored a potentially crucial goal.
With Rangers already sure of a play-off place and their opponents battling against the drop, it was perhaps no surprise that Millwall started at a much higher tempo.
Striker Stefan Maierhofer headed wide from a left-wing cross by Lee Martin, who then sent an effort wide of the target.
The visitors' early momentum stalled when Martin was taken from the pitch on a stretcher on the quarter-hour mark following a challenge involving Tom Carroll.
QPR then had a decent spell during which keeper David Forde saved Niko Kranjcar's shot and Austin's follow-up.
Both sides went close to opening the scoring in the final five minutes of the first half.
Ravel Morrison's header from Yossi Benayoun's cross was pushed over by Forde, while Maierhofer and Martyn Woolford failed to capitalise after defensive lapses at the other end.
Maierhofer fired straight at keeper Rob Green from the edge of the six-yard box following good work by Owen Garvan.
And Woolford dragged a shot agonisingly wide after managing to nudge the out-out-form Richard Dunne off the ball.
Rangers looked much more lively after the break and Joey Barton shot wide of Forde's right-hand post before Carroll and Morrison fired over.
Lions boss Ian Holloway, a former QPR player and manager, responded with an attacking change, replacing Garvan with forward Scott McDonald.
Rangers continued to press and Forde kept out substitute Junior Hoilett's low shot and Austin's header from Danny Simpson's right-wing cross.
Forde was unable to rescue his team when Jackson, under pressure from Morrison, handled Hoilett's cross and Austin tucked away the resulting spot-kick.
And when Williams' 85th-minute free-kick hit the crossbar, Rangers looked to be heading for victory.
But they had to settle for a point after Millwall's persistence paid off when Malone's scuffed shot was misjudged by Green, who allowed the ball to sneak into the net.
Millwall, who had won their previous three away games, still need a home win against Bournemouth in their final match of the season to guarantee their Sky Bet Championship survival.