Max O'Leary - 6
Tipped a decent effort by Jordan Graham past the post early on. Had little chance with Deeney's penalty and likewise with Khadra's goal. Made a good save against the latter when he made a risky decision to come so far off his line.
George Tanner - 6
Exploited down the right a handful of occasions including for Birmingham's second. Didn't really get forward as much as he would have liked but perhaps that was in the game plan to sit deeper down the right side.
Zak Vyner - 7
Had a difficult game against Deeney last season but today's performance shows the progress he has made on the pitch. Kept the experienced forward quiet throughout and was smart in possession. Good covering tackles to help out Tanner too.
Rob Atkinson - 7
Struggled to deal with the pace of Juninho Bacuna on the counter-attack when left exposed to a one-on-one. On the flip side to that, barely gave Scott Hogan a sniff. Aerially dominant once again.
Kal Naismith (off 84, Dasilva) - 7
Played in a defensive midfield position which allowed him to show off his range of passing while providing that extra cover in front of the centre-backs. Added composure to midfield, barring one or two misplaced passes, but managed to play those balls forward and get City on the front foot.
Cam Pring - 8
Made a superb early block in the opening 10 minutes to deny an effort on goal. Conceded the penalty following some nifty skill by Chong in the area. Redeemed himself with a superb assist for Sykes, riding the challenge of three players. A different class going forward.
Matty James - 7
Went about his business quietly and effectively in the middle of the park, playing ahead of Naismith. Did what he does best, breaking up play and keeping it simple.
Alex Scott (off 67, Williams) - 7
Brilliant in the opening 30 minutes, dictating the game. Broke from deep with the ball to get City in advanced areas. Faded a little as the game went on but launched himself into some important tackles, including one on Bacuna. Quiet in the second half.
Mark Sykes - 8
Keen to show what he can do in his favoured position on the right of the attack. Started the game really brightly with darting runs forward and grabbed his first goal in City colours with a tap in following Pring's work in the area. Added his second with a similar goal after Semenyo's excellent run. Dispossessed too easily for Birmingham's second.
Nahki Wells (off 78, Bell) - 7
A superb, clinical finish to grab City's second when he shrugged off his man before burying it into the bottom corner. A constant menace throughout with his pace causing plenty of problems with those through balls. Looked tired before being subbed.
Antoine Semenyo - 8
Didn't know much about his opener as Pring's cross cannoned off his body from close range to grab his third in three games. Played out on the left and produced some tantalising crosses across the face of goal including one for City's fourth after a terrific burst of pace. Drifted in and out of the game at times but can always produce a moment of class.
Substitutes
Joe Williams (on 67, Scott) - 6
Offered tenacity on his introduction but without stamping his authority on the game.
Sam Bell (on 78, Wells) - N/A
Jay Dasilva (on 84, Naismith) - N/A
Subs not used: Bentley, King, Kadji, Taylor-Clarke
SIGN UP: For our daily Robins newsletter, bringing you the latest from Ashton Gate
READ NEXT