Jaidon Anthony scored one goal and set up the other as Bournemouth inflicted QPR’s first defeat of the season to climb into the Championship’s top two.
The 21-year-old winger fired the Cherries into an early lead before providing the assist for Dominic Solanke to make it 2-0 before half-time.
Rangers fought back strongly after the break and reduced the deficit when Sam McCallum netted his first goal for the club.
Bournemouth goalkeeper Mark Travers secured his side victory with a string of vital late saves to deny the visitors a point.
QPR began brightly but fell behind in the 12th minute as Rob Dickie dithered in possession and was robbed by the sprightly Anthony, who galloped into the penalty area and curled a shot beyond Seny Dieng.
It took the visitors some time to recover and, although Ilias Chair fired wide from the edge of the box, they rarely looked like troubling Travers.
The Cherries doubled their lead with a flowing crossfield move eight minutes before the break as David Brooks fed birthday boy Solanke, who played a deft one-two with Anthony and slotted in at the near post for his fifth goal of the season.
The home side should have made it 3-0 early in the second half when Anthony dispossessed Osman Kakay and Solanke’s backheel set up Philip Billing, whose drive thudded against the inside of the post.
But QPR gained a lifeline in the 57th minute as the ball broke to McCallum and, after his initial shot had been blocked by Adam Smith, the left-back’s second attempt beat Travers at his near post.
However, Bournemouth were ultimately indebted to their keeper, who produced three crucial stops as Rangers pressed hard for an equaliser during the closing stages.
Travers flew himself to his left to push away a goalbound header from Jordy de Wijs and also prevented Lloyd Kelly from putting through his own net, before denying R’s substitute Andre Gray in the fifth minute of added time.
- 15A SmithBooked at 90mins
- 5KellyBooked at 87mins
- 33ZemuraBooked at 10mins
- 10ChristieSubstituted forMephamat 86′minutes
- 29BillingBooked at 90mins
- 7BrooksBooked at 45minsSubstituted forPearsonat 61′minutes
- 32AnthonySubstituted forRogersat 77′minutes
- 5de Wijs
- 6BarbetBooked at 90mins
- 2KakaySubstituted forAdomahat 55′minutes
- 7JohansenBooked at 45mins
- 10ChairSubstituted forThomasat 82′minutes
- 9DykesSubstituted forGrayat 55′minutes
- 21WillockBooked at 72mins
Match ends, Bournemouth 2, Queens Park Rangers 1.
Second Half ends, Bournemouth 2, Queens Park Rangers 1.
Attempt saved. Andre Gray (Queens Park Rangers) header from the centre of the box is saved in the bottom right corner. Assisted by Albert Adomah with a cross.
Adam Smith (Bournemouth) is shown the yellow card.
Yoann Barbet (Queens Park Rangers) is shown the yellow card.
Corner, Queens Park Rangers. Conceded by Mark Travers.
Philip Billing (Bournemouth) is shown the yellow card for a bad foul.
Chris Willock (Queens Park Rangers) wins a free kick in the attacking half.
Foul by Philip Billing (Bournemouth).
Robert Dickie (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Morgan Rogers (Bournemouth).
Attempt missed. Jordy de Wijs (Queens Park Rangers) header from the centre of the box is too high. Assisted by Albert Adomah following a set piece situation.
Chris Willock (Queens Park Rangers) wins a free kick on the left wing.
Foul by Adam Smith (Bournemouth).
Corner, Queens Park Rangers. Conceded by Ben Pearson.
Attempt blocked. Dominic Ball (Queens Park Rangers) left footed shot from the right side of the box is blocked.
Corner, Queens Park Rangers. Conceded by Lloyd Kelly.
Lloyd Kelly (Bournemouth) is shown the yellow card.
Andre Gray (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Lloyd Kelly (Bournemouth).