ALEX SMITHIES 6
Alert to keep out Oliver Burke either side of half-time, but made an error that ultimately resulted in Millwall's opener.
CODY DRAMEH 7
Tried to pick up where he left off on Wednesday. Produced some promising runs, but couldn't find his mojo. Made some decent defensive contributions, but was out-jumped a little too easily for the second goal. Even so, a reasonable display.
PERRY NG 6
Made some telling contributions at the back and looked solid for much of the first half. Faded after the break as Millwall turned up the pressure
ADEN FLINT 6
As above really.
MARK MCGUINNESS 6
Started reasonably well, but was guilty of a couple of errors as the game wore on. One of which nearly handed Benik Afobe a goal.
JOEL BAGAN 8 STAR MAN
Stood up well defensively. Nearly scored a brilliant goal midway inside the second half after dummying two players in the box. Took his goal well in stoppage time.
RYAN WINTLE 6
Made some good contributions, but his influence in front the defence slipped as the game wore on.
JOE RALLS 6
Showed some promising flashes, but couldn't pull the strings in the way he normally does.
TOMMY DOYLE 5
Just didn't look his normal self. Misplaced passes and some uncharacteristically poor deliveries in the first half. Seemed a little panicky on the ball at times. Perhaps should have had a penalty, mind. Subbed.
MARK HARRIS 6
Made some good runs, but couldn't find that piece of quality needed to trouble the Millwall defence. Subbed.
JORDAN HUGILL 7
Held the ball up brilliantly, but his missed header was perhaps a key moment. Subbed.
Subs
Isaak Davies (on for Harris 54) - Plenty of energy, but not enough end product 6
Will Vaulks (on for Doyle 74) - Put in a couple of decent balls, but couldn't make an impact 6
Uche Ikpeazu (on for Hugill 74) - No heroics this time around 6
For the latest Cardiff City news and analysis delivered straight to your inbox, you can sign up for our newsletter here.