Ryan Allsop 5
Might have done better to stop Gabriel Sara's goal as he was beaten at the near post. Not for the first time this season, either. Dithered when Adam Idah was through on goal and he was rounded, but made a fantastic save to deny Teemu Pukki.
Perry Ng 7 (star man)
Didn't do anything glaringly wrong and was fairly solid at the back. Had a decent free-kick saved late on, too. Probably the pick of the bunch.
READ MORE: Norwich 2-0 Cardiff - Sara and Marquinhos score as Canaries down Bluebirds
Cedric Kipre 5
Strong in the air as always. But played a woeful pass that put Cardiff in trouble with Idah's chance, which should have been converted. Booked for a bad tackle on Pukki late on after his own error.
Mark McGuinness 5
A few uncharacteristically wayward passes from the centre back. Just didn't look his 100 percent best for whatever reason.
Mahlon Romeo 5
Had an early chance to play Wickham in, but opted for a shot himself. Made a couple of willing runs down the right to no avail. Onel Hernandez beat him on the outside before crossing for Marquinhos' goal. Off at the break.
Romaine Sawyers 6
Had a big influence on things early doors, but he struggles a little when other teams are growing in confidence and can go missing. Could maybe have closed down Sara's shot for his goal. Better after the break with some good control and passing.
Ryan Wintle 5
Another who seemed to see the game pass him by a little. Had a glorious chance when he was gifted the ball 20 yards out, but pulled it wide. Need him back firing again.
Joe Ralls 5
Started strongly with City in the ascendancy, but faded along with the rest of the team. Taken off at half time.
Callum O'Dowda 6
Another who started well with a couple of strong bursts upfield. His influence waned as Cardiff's early dominance dissipated. Continued to put crosses into dangerous areas, though.
Jaden Philogene 6
A frustrating one. Because he was the driving force in Cardiff's early dominance, but that final ball or shot just lacked the requisite quality to make a difference. Had Norwich's defenders worried early on and hit the post with an effort right at the death.
Connor Wickham 6
Started the game really well and gave Cardiff a platform. His early shot from close range was blocked, though, and it was a big chance. Subbed at half time.
Subs
Andy Rinomhota (Romeo 45) 6 - Added much more energy and bite in midfield, which is what Cardiff needed as they improved after the break.
Sory Kaba (Wickham 45) 5 - Flattered to deceive a little. Miscontrolled a few times and just couldn't get any decent shots away.
Kion Etete (Ralls 45) 5 - Similar to the above, really. Showed for the ball a lot but failed to really make many inroads in behind.
READ NEXT:
The Wales gatekeeper with an 'alter ego' who's forged an alternative path to the top