Peter Whittingham scored his 5th goal in the last three games to put City on their way to a rare victory in South East London.
His 53rd minute strike was followed up with a Craig Noone debut goal just two minutes later.
Worringly there looked a nasty injury to Nicky Maynard in the second half. Let's hope it's not too serious.
There was no Craig Bellamy in the squad tonight and that allowed Kim Bo-Kyung a chance at a debut when he came off the bench in the second half.
Peter Whittingham saw a free kick goal disallowed in the first half but the two goals in two minutes early in the second half won the game for Cardiff.
The last time City won at Millwall was 30 years ago in September 1982. This victory was long overdue and it sees City win a third game in a row.
Cardiff remain 5th after the top five all won tonight.
City are in London again on the weekend when they face Crystal Palace at Selhurst Park, ko 3:00pm on Saturday.