Ilias Chair and Rob Dickie's first-half goals made it a miserable 500th game as a manager for Bristol City boss Nigel Pearson as QPR took the points from a 2-0 Championship win at Ashton Gate.
The visitors were two goals up inside 23 minutes. Chair took advantage of poor marking by Adrian Mariappa to head home Todd Kane's 11th-minute cross and Dickie fired in after Yoann Barbet's shot had come back off a post.
From then on Rangers defended their lead with organisation and tenacity, making them well worth their victory.
Pearson named the side beaten 2-1 at home in midweek by Bournemouth, while QPR manager Mark Warburton made three changes from their defeat by Barnsley.
He introduced Dutch defender Jordy De Wijs, on loan from Hull City, and brought in Sam Field and Chris Willock for Geoff Cameron and Lyndon Dykes.
City were all over the place in the opening stages, conceding twice and looking off the pace. Pearson responded with a 23rd-minute change, sending on striker Antoine Semenyo for midfielder Tyreeq Bakinson.
He had to make two more switches by the 36th minute as Adam Nagy and Zak Vyner succumbed to head injuries from different incidents. Their places were taken by Henri Lansbury and debutant Sam Pearson.
Jack Hunt had seen a shot blocked for the home side, but they looked in disarray for much of the first half. They looked vulnerable to any cross and had their new manager pacing around his dug-out in frustration.
Semenyo was operating on the right wing and Pearson the left of a 4-4-2 formation. But there was no creativity going forward and Rangers remained in control.
Charlie Austin had a shot blocked as QPR continued where they had left off at the start of the second half. At the other end, Pearson's tame volley was a rare City goal attempt.
Warburton made his first change after 62 minutes, sending on Osman Kakay for De Wijs. Seconds later Chair volleyed over when in space 12 yards out.
City 'keeper Dan Bentley had to be quick off his line to beat Austin to a weak Tomas Kalas back-pass before Nahki Wells had a great chance to reduce the deficit, firing wildly over after 68 minutes.
Stefan Johansen shot over from a Rangers free-kick after a mazy run by Chair had been ended by a Lansbury foul 20 yards out.
The visitors rarely looked like surrendering their advantage and turned in a committed display, while there was much for Pearson to ponder as a City squad already ravaged by injuries suffered two more setbacks.
What the managers said...
Bristol City's Nigel Pearson: "It wasn't the way I wanted to mark my 500th game. I judge our performances against what we can produce, rather than how the opposition play. Since I arrived there have been three good displays, two of which brought wins, but today we slipped below the standards we set.
"We allowed Rangers to score their goals without having to work hard for them, which is not what we want. And we were too passive in the first half. Having to rejig the team so early on made the game more of a challenge, but that's football. It's important that when we cannot dominate games our collective work ethic and positive mentality gets us through. That wasn't the case today."
QPR's Mark Warburton: "We were aware of the quality in Bristol City's ranks. I wanted our two number 10s, Ilias Chair and Chris Willock, to get forward and make sure Charlie Austin wasn't isolated. They did a great job in that respect and after a sloppy opening five minutes when we could have conceded, it was an excellent team performance.
"There are such fine lines between success and failure in the Championship,
which is what makes it so exciting and why we all love it. We played really well at home to Bristol City this season and lost the game 2-1. But today we got what we deserved because we were good all over the park."