Substitute Scott Twine scored with his first touch, but dominant Bristol City were held to a 1-1 Championship draw by resolute QPR at Ashton Gate.
The midfielder was introduced on the hour mark in place of Yu Hirakawa as City waited to take a free-kick 25 yards out and his curling right-footed shot found the roof of the net, giving goalkeeper Paul Nardi no chance.
The lead lasted only five minutes before Paul Smyth equalised in spectacular fashion, taking advantage of City keeper Max O’Leary’s misjudged race from his area to round him 40 yards out and shoot into an unguarded net from near the right touchline.
QPR’s defence was key to the result, withstanding heavy pressure for much of the game to earn a battling point.
City made two changes from the 1-1 midweek draw at Sunderland, with George Earthy and Nahki Wells replacing Marcus McGuane and the injured Sinclair Armstrong, while the Rangers side showed one change from the victory over Oxford, Lucas Andersen coming in for Nicolas Madsen.
The home team almost took a second-minute lead when a free-kick from the left was cleared into the path of Anis Mehmeti, whose low, left-footed shot from outside the area struck a post.
It set the tone for a one-sided first half in which O’Leary was a virtual spectator.
Rangers were penned back for long periods but defended their box strongly and limited their opponents to few chances.
Max Bird’s 20th-minute shot from distance brought a comfortable save from Nardi and a similar effort from centre-back Luke McNally after 41 minutes went wide.
In first half stoppage time former Rangers striker Wells had a header blocked on the line, but City went off at the interval hugely frustrated.
The visitors made a change at the break, sending on Alfie Lloyd up front in place of Rayan Kolli.
But the pattern remained the same as Hirakawa had a 51st-minute shot blocked for a corner.
Wells then had a great chance to put City ahead but headed wide when the ball broke to him 12 yards out.
There were huge cheers from travelling fans behind the goal when Rangers bucked the trend by winning a 56th-minute corner, but again O’Leary was untroubled.
Twine’s immediate impact after Cam Pring had been fouled by Sam Field at last brought the breakthrough, but City were then caught on the break by a sucker punch, committing too many men forward and leaving O’Leary exposed.
The hosts poured forward in the closing stages, but it was Rangers who almost snatched victory in stoppage time when Steve Cook’s shot brought a diving save from O’Leary and substitute Lloyd’s deflected effort went just wide.