Ryan Allsop 7
Started the move for Robinson's early effort and was generally commanding of his box. The deflection took the ball out of his reach for Gary Madine's goal.
Mahlon Romeo 6
He was good again in the first half. His crosses into the box are so dangerous. Robinson should have converted one. But Madine outjumped him for their goal and they started to attack his flank late on.
Perry Ng 6
Another solid defensive display from Ng, who had little to do, really, until the game opened up later on. Brought the ball out with confidence. Unfortunate to see the ball bounce off him and into the net from Madine.
Cedric Kipre 7
Same as above. Dealt with the little threat they posed very well and showed what a classy operator he was with the ball at his feet.
Callum O'Dowda 7
Shifted back to left-back and looked good. There were moments when Whyte got in positions you felt O'Dowda would have made more of, though.
Gavin Whyte 6
Popped up often in dangerous areas but opted for the shot or the wrong ball too often. A bright display but could have been more accurate. Improved after the break, both in attack and defence.
Ryan Wintle 8
Had one rasping effort saved early on and played some positive, forward-thinking passes. A couple of neat touches saw him skin the odd attacker pressing him, too. Barely put a foot out of line, but should have scored an early 1v1.
Joe Ralls 6
Played some incisive passes and carved the defences open for Whyte and Robinson on occasion, especially in the first half. His influece waned a little after the break.
Mark Harris 7
Was careful in possession and held the ball up well out on the wing. Hit one stunning low cross which should have been a tap-in for one of the strikers.
Callum Robinson 8 (star man)
Another decent outing. Nine goal involvements in his last 12 outings, including this most recent, outside-of-the-boot assist for Etete. Had a good chance to score himself early on which was saved. Booked for simulation, but it looked harsh.
Kion Etete 7
Makes Cardiff's attack function so much better and plays the focal-point role so well. Took his goal brilliantly, lobbing Daniel Grimshaw. Encouraging signs.
Subs
Jaden Philogene (Whyte 63) 7 - Stabbed one lovely through-ball to Etete, but the goalkeeper did well.
Rubin Colwill (Harris 71) 6 - Had very few opportunities to show what he was about. Sent in one decent cross of note.
Niels Nkounkou (O'Dowda 89) NA
READ NEXT
New plan laid out for duo after double setback as Cardiff City starlet ruled out again
Every Cardiff City manager of the Vincent Tan era rated and where Mark Hudson figures