Dan Bentley - 8
Waited 32 minutes for his first call to action when he turned away a strike on the angle. Made a really important stop to deny Max Watters when played through on goal.
A great stop to deny Harris with City 2-0 ahead - a crucial time in the game and another clean sheet to boot.
Zak Vyner - 7
Another really positive performance by City's central defender. O'Dowda found himself behind on a couple of occasions but without really threatening the goal. Kept Philogene quiet on his introduction. Slightly nervy on the ball.
Kal Naismith - 8
Brave carrying the ball out from the back and was near faultless, apart from pass over the top that allowed Watters to go through on goal. Made a good block on O'Dowda in the second half.
Rob Atkinson - 9
An excellent first half display, made better by showing composure to find Wells on the left that ultimately led to the goal. Performance topped off by scoring City's second, heading in from close range.
Alex Scott - 8
Threw himself into a couple of early challenges to show his authority as he started at right wing-back. A dogged performance and a resilience to his play that again highlighted his maturity. Really disciplined and crucial to City's excellent defending.
Jay Dasilva - 8
Maintained his form from his performance and Luton and looked more dangerous going forward. Could and probably should have scored when his effort in the second half hit the side-netting.
Joe Williams - 9
Mis-hit a great chance on the edge of the box in the first half and almost opened his City account in the second when his strike was narrowly deflected wide. Launched himself into tackles and could tell he was relishing his first Severnside derby. Made his selection more than justified.
Han-Noah Massengo - 9
A superb first half and a player that looks in real form. Really disciplined marking Rinomhota and kept his opponent quiet. Had the ball in the net although rightfully disallowed for a foul on the keeper. Slightly quieter in the second half but remained a real handful with the ball at his feet.
Andi Weimann - 8
So unlucky not to double City's lead when his half-volley crashed off the underside of the crossbar. Almost assisted Dasilva with some quick thinking from a free-kick. Forced to drop deep to mark Ryan Wintle and that was crucial in stopping Cardiff from playing.
Nahki Wells - 8
Played a key part in City's opener when his cross found the head of his strike partner who glanced it into the corner. Didn't get a glimpse of goal but take nothing away from his overall performance. Another lively cameo for the striker and ran his socks off.
Tommy Conway - 8
Maintained his brilliant form with a superb header to put the hosts ahead in the first half. Danger signs were there on 15 minutes when his strike on the angle was saved. Was in the wars in the second half, on the receiving end of a couple of brutal challenges. Cardiff struggled to deal with his pace all afternoon.
Chris Martin (on 80, Conway) - N/A
Andy King (on 83, Williams) - N/A
Kane Wilson (on 87, Massengo) - N/A
SIGN UP: For our daily Robins newsletter, bringing you the latest from Ashton Gate
READ NEXT