Kevin Gallen's last minute goal saved QPR from a first home defeat in the league this season.
Gallen atoned for earlier missing a gilt-edged chance by latching on to Tony Thorpe's pass and steering the ball past goalkeeper Mark Tyler.
Posh led at half-time after Clive Platt crept between Arthur Gnohere and Gino Padula to head home Tommy Williams' left-wing cross.
Williams, who spent last season on loan at QPR, replaced Gareth Jelleyman after the Posh midfielder limped off following Clarke Carlisle's 25th minute challenge.
But despite that early setback, Peterborough were the better side in the first half, although Rangers almost went ahead when Paul Furlong rose to meet Padula's corner only for his header to be cleared off the line by Adam Newton.
Rangers started the second half strongly and went close to scoring when Furlong headed Matthew Rose's cross on to Kevin McLeod, whose shot was palmed away by Tyler at his near post.
Rangers then faded, prompting boss Ian Holloway to make a triple substitution on the hour mark.
Furlong, Rose and Steve Palmer were replaced by Thorpe, recent signing Jamie Cureton and debutant Richard Johnson.
The move backfired when Carlisle was injured attempting to tackle Platt and Rangers played with ten men for seven minutes while the defender received treatment by the side of the pitch.
Carlisle re-entered the fray as a makeshift striker as Rangers tried hard to turn up the pressure.
Gallen should have equalised in the 76th minute, but drove the ball over the bar after Andy Legg's misplaced header fell to him in the six-yard box.
Thorpe also failed to convert a great chance when he shot straight at Tyler after Gallen put him through on goal.
But Rangers got out of jail when Carlisle's header fell to Thorpe whose neat pass set up Gallen for the equaliser.