Ryan Allsop 6
Had to cope with copious balls over the top, forcing him off his line as a sweeper-keeper, heading the danger clear. Wrong-footed for the goal.
Tom Sang 6
Was given a monumental task of keeping Ben Brereton Diaz quiet while adding to the City attack in a wing-back role and gave a decent account of himself on both fronts.
Read more: Bluebirds start new year with a whimper as Dack goal extends winless run to seven games
Perry Ng 6
Couldn't display his neat footwork as much as usual due to the horrible underfoot conditions, but defended well for the most part. Had a big chance to score the leveller but fluffed his lines.
Cedric Kipre 6
Started with a big mistake which allowed Sam Gallagher through on goal, but recovered well after that. Was turned back towards his own goal a lot but stood up to the task.
Jack Simpson 5
Started the game well and made more than one crucial intervention. Was lucky to escape with a yellow for a high-footed challenge. Unfortunate to have the ball deflect off him for Bradley Dack's goal.
Callum O'Dowda 7 (star man)
Just about the only player to show class and poise with the ball at his feet. Looked capable of unlocking the left-hand side for City and found space to cross and link-up time and time again.
Ryan Wintle 6
Hit one fantastic cross which should have had a Cardiff player on the end of it. Generally assured, if a little more battling, display.
Joe Ralls 6
The sort of game and pitch which needed his grit in the middle. Stuck his foot in and tried to break things up when it wasn't always pretty. Released Robinson in the box for a good chance which was saved.
Gavin Whyte 5
Was put through on goal before Jake Garrett stopped him pulling the trigger. Was a quiet afternoon for him before and after that, though. Didn't take his chance to make that position his.
Callum Robinson 5
Had to scrap and scrape for every chance. Had one on a plate from Ralls, though, and his low shot was saved. Threw his toys out of the pram when he was subbed.
Mark Harris 5
Had a couple of half-chances in the first half, one of which saw him drill a low shot into the side-netting from 20 yards. Was dispossessed in the lead-up to Dack's goal.
Subs
Rubin Colwill (Ralls 58) 6 - Tried his best to inject some life into proceedings with varying results.
Andy RInomhota (Simpson 58) 6 - Probably the best of the subs. Popped up at both ends of the pitch and added some energy.
Sheyi Ojo (Whyte 58) 5 - Sprinted up and down that right touchline trying to inject some speed but it rarely came off for him.
Isaak Davies (Robinson 67) 5 - Rarely saw him with the ball and was barged off it once or twice. Still finding his feet.
Jaden Philogene (Harris 78) NA
READ NEXT:
The Cardiff City football quiz of 2022 only diehard Bluebirds fans will nail