Ryan Allsop 5
Was beaten for the first goal when Joel Piroe hit home from close range, but did well on the half-hour mark to come out and snuff a big chance for Liam Cullen. He could do little about the two other goals.
Perry Ng 5
Was done for pace by Cullen in the second half and it should have led to a second for Piroe. Otherwise he was generally sound against a lively Swans forward line. Hobbled off injured late on.
READ MORE: Cardiff City 2-3 Swansea City: Last-gasp Cabango strike earns visitors dramatic victory
Mark McGuinness 4
Made a big mistake for the Piroe goal. The striker turned him straight from a throw-in and was allowed to hammer it past Allsop into the roof of the net. Piroe targeted him thereafter and it was a difficult afternoon for him because of it.
Cedric Kipre 4
Another who would have liked to have done more for for the Piroe goal. Came across to cover and was perhaps turned along with McGuinness. Then got embroiled in a bit of a heated exchanged minutes later. Committed the late foul that led to the winner.
Jaden Philogene 8 (star man)
Skinned Ryan Manning time and time again. He is hitting some white-hot form at the moment - anything positive looked like it would go through him. His goal was fantastic, skinning Nathan Wood before smashing through Andy Fisher.
Ryan Wintle 5
Didn't notice a great deal that he did right or wrong, although he must have covered some serious distance as he was frequently popping up in both areas.
Joe Ralls 5
A scrappy, battling display but the ball just never seemed to drop kindly for him or he couldn't engineer that killer pass. Although he did whip in a lovely cross for Kaba in the first half. Dropped to left-back after the break.
Andy Rinomhota 5
Produced a laughably bad rugby tackle on Manning in the second half to get a booking, but otherwise ran his legs out in the middle of the pitch.
Callum O'Dowda 6
McGuinness needed a bit of help due to him being overloaded, but once Cardiff got their foot on the ball he began to provide his trademark crossing higher up the pitch. Off at half-time, presumably due to exertions during the international break.
Sheyi Ojo 4
For whatever reason, his partnership with Kaba in the opening half an hour just didn't work. They were not in sync and Ojo dithered a little in possession. Hooked on the hour mark with little to show for it.
Sory Kaba 7
A hit-and-miss outing for the big striker. At times he was a good outlet for the Bluebirds, but at other times he struggled to hold play up. Was much better in the second half after Wickham's introduction and was in the right place to head home from point-blank range.
Subs
Romaine Sawyers (O'Dowda 46) 5 - Looked steady enough when he came on after the break. Ticked play over quite well and created some nice flow in the middle when Cardiff did get the ball. Lofted a lovely through ball to Kaba, who just couldn't get on the end of it.
Connor Wickham (Ojo 61) 5 - Helped Kaba out with the target-man role when he was introduced. Had players doubling up on him, though, and was unable to get any sort of chance on goal.
Rubin Colwill (Rinomhota 61) 6 - Struggled to really get into the game for much of it, until Philogene released him down the right late on and he stuck a sublime cross in for Kaba to head home. Unfortunately for Cardiff, of course, it wasn't enough to earn a point.
Mahlon Romeo (Ng 90) NA