Stefan Johansen scored an injury-time equaliser as QPR came back from 3-1 down to preserve their unbeaten record this season.
John Swift’s hat-trick seemingly put Reading in control but Andre Gray, on his Rangers debut, pulled a goal back with 11 minutes remaining.
And Johansen rescued a point by following up to score after Chris Willock’s shot had been parried by keeper Rafael Cabral.
Rangers went ahead when Jordy de Wijs headed Johansen’s free-kick towards Dominic Ball, whose header was deflected into the net by Reading defender Michael Morrison.
De Wijs went close to doubling the lead when he headed over from Johansen’s cross.
Reading made the most of that let-off, levelling against the run of play 10 minutes before half-time when ex-Chelsea man Swift applied the finish after being found by Alen Halilovic’s superb ball in behind the QPR defence.
Charlie Austin, who has never scored against the Royals in eight appearances, had a chance to restore the lead after the interval but was denied by Cabral.
It proved to be a costly miss for Rangers, with Swift slotting home from an angle after being set up by Tom Dele-Bashiru and then firing home to make it 3-1.
They hit back within a couple of minutes, Gray scuffing the ball in from fellow substitute Albert Adomah, setting up a dramatic finish in which the R’s snatched a draw.
QPR (3-4-2-1): Dieng; Dickie, De Wijs, Barbet; Odubajo, Ball (Thomas 87), Johansen; McCallum; Chair, Willock; Austin (Austin 66).
Subs not used: Archer, Kakay, Dunne, Dozzell.