Ryan Allsop 6
Gathered a decent strike from Chris Willock's free-kick and was composed as ever with the ball at his feet.
Mahlon Romeo 7
Cardiff's most dangerous attacking outlet for much of the match. Found bags of space but Cardiff just couldn't make the most of it.
Perry Ng 6
Had one bullet header whistle wide of the mark and was generally solid all round, as you would expect.
Cedric Kipre 6
Another who was generally composed for most of the match. Kept the dangerous Lyndon Dykes quiet. Had one or two hairy moments in possession.
Callum O'Dowda 7 (star man)
Had a tricky customer in Albert Adomah up against him but gave as good as he got. Showed his turn of pace once or twice down the left flank which added to City's attack. Positive performance.
Rubin Colwill 6
Stuck out wide, which isn't his best position, but showed the odd moment of real quality. Set up Robinson for one big chance and Etete for another. Helped O'Dowda out defensively, too. Notably more dangerous after the break.
Ryan Wintle 6
Struggled with the physicality of Tim Iroegbunam at times, but put in some tremendous crosses, a couple of which should have been goals.
Joe Ralls 5
Didn't see a great deal of him but at times he add the dog in the midfield that Cardiff needed. Added to the attack more in the second half.
Jaden Philogene 5
A quiet one for the Aston Villa winger. The ball just wouldn't fall for him and QPR, to their credit, closed him down and stymied his attacks very quickly.
Callum Robinson 6
Looked about as likely as anyone to score for the hosts. Should have headed a Wintle cross on target and blazed a shot from 20 yards over the crossbar.
Kion Etete 5
Cardiff used him well to get up the pitch and he was a useful outlet. He didn't give the ball away cheaply. Had two massive chances in the second half which he smacked wide and over. Did well until the end product. Should have scored.
Subs
Mark Harris (Philogene 67) 5 - Didn't do a huge deal after his introduction other than some blocked crosses.
Gavin Whyte (Colwill 83) N/A
READ NEXT:
Rubin Colwill gives Mark Hudson a huge nudge with wonder goal against Sunderland
Eight Cardiff City players' contracts are up this season but transfer embargo could have big impact