QPR spoiled Aaron Ramsey's Cardiff homecoming with a 2-1 success in the Sky Bet Championship.
Sinclair Armstrong - with his first QPR goal - and Kenneth Paal were on target to puncture Cardiff's early-season optimism generated by the return of Wales captain Ramsey.
Ike Ugbo gave Cardiff hope 12 minutes from time with his second goal in as many league games, but the Bluebirds were left to rue efforts from Ramsey and Mark McGuinness coming back off the crossbar.
Ramsey's last appearance on this ground in Cardiff colours came in February 2011, when on loan from Arsenal as he recovered from serious injury.
There was huge excitement as Ramsey led out a Cardiff side managed at home in the league for the first time by Erol Bulut, the former Fenerbahce head coach.
But the day belonged to Armstrong, a 20-year-old Irish striker who not only opened his QPR account in the first half but unselfishly set up Paal after 65 minutes.
QPR slumped to a 4-0 defeat at Watford on the opening weekend and boss Gareth Ainsworth had acted quickly to bolster his defence.
Steve Cook arrived from Nottingham Forest on Wednesday and the veteran centre-half went straight into the middle of a three-man defence.
QPR started brightly but Cardiff carried a goal threat when getting into forward positions.
Cardiff's best chance of the first period came after 19 minutes when McGuinness headed goalwards for the swivelling Ugbo to send his shot wide.
QPR were playing the more cohesive football and Cook met Paal's free-kick at the far post to force a smart save from Jak Alnwick.
Ilias Chair was wayward before Paul Smyth picked Callum O'Dowda's pocket and found the sliding Armstrong, who made no mistake from a few yards.
Cardiff went close to an equaliser in first-half stoppage-time but Asmir Begovic got down well to turn Ryan Wintle's 20-yard effort around a post.
There was more purpose about Cardiff straight after the restart as Ramsey played in O'Dowda and Morgan Fox made a fine stretching clearance.
Callum Robinson replaced the injured Ebou Adams but Cardiff struggled to make headway against resolute opponents.
QPR were lucky to survive when Ramsey found space on the edge of the penalty area and his effort clattered against the crossbar.
Cardiff kept the move alive and Begovic was quick off his line to smother Karlan Grant's attempt.
QPR made the most of their good fortune within moments after Ramsey gave away possession and Armstrong, having evaded Dimitrios Goutas, raced down the right.
Armstrong did not panic as he scanned for support and his inviting ball was dispatched by Paal.
Cardiff set up a grandstand finish as Ramsey delivered a delightful pass to O'Dowda at the far post.
O'Dowda did superbly to keep the ball in play and lift it over Begovic and Ugbo tapped home.
Cardiff struck the crossbar again through McGuinness but 10 minutes of stoppage time eventually ran out on the Bluebirds.
Cardiff City: Alnwick, Ng, McGuinness, Goutas, O’Dowda, Wintle, Adams (Robinson 54’), Ramsey © (R. Colwill 84’), Bowler (Collins 84’), Grant (Tanner 73’), Ugbo (Etete 84’). Subs not used: Luthra, Romeo, Simpson, Rinomhota.
Queens Park Rangers: Begović, Kakay, Cook, Field, Dykes, Chair (Richards 88’), Smyth (Adomah 77’), Fox, Dozzell, Paal, Armstrong (Dixon-Bonner 73’). Subs not used: Archer, Larkeche, Duke-McKenna, Gubbins, Aoraha, Kolli.