Full-time from The Den
Two clinical finishes in as many minutes from Peter Whittingham (53mins) and Craig Noone (55mins) secured Cardiff's first away win of the season and condemned The Lions to a second successive defeat.
Kenny Jackett's side were made to pay a heavy price for a 90-second lapse in concentration which Whittinhgam and then Noone capitalised on with deadly precision.
Following on from Saturday's dispappointing 4-1 loss at Hull City, manager Kenny Jackett had urged his men for a positive response and for long spells of the game he could not fault the effort, commitment and application of his charges.
Jackett made just one change to the team that started at the KC Stadium with Alan Dunne returning to the team in place of skipper Paul Robinson, ruled out with an ankle injury sustained in that match.
Dunne slotted in at right-back with Karleigh Osborne - who produced his best game yet in a Millwall shirt - partnering Shane Lowry in the heart of defence.
Certainly in the opening 45 minutes The Lions proved equal to their big-spending, high-flying opponents.
If anything, Jackett's men could count themselves unlucky not to have gone in at the break at least a goal to the good.
James Henry's full-blooded drive was blocked on 11 minutes and Jimmy Abdou's 20-yarder was comfortably dealt with by Cardiff keeper David Marshall as The Lions showed early promise.
Abdou then set up Liam Trotter, who smashed the ball a yard over the bar before Cardiff created their first noteworthy chance of the game - a sublime curling Whittingham free-kick that flew into the back of the net. However, referee Simon Hooper spotted an infringement by Aron Gunnarsson on Scott Malone and his effort was ruled out.
The visitors then wasted a glorious opportunity to break the deadlock after 25 minutes when Jordon Mutch sent his header wide of the mark following a delicious delivery from overlapping full-back Kevin McNaughton.
Lions left-back Scott Malone again showed his willingness to support the attack and decided to go it alone on 32 minutes with a surging run from deep in his own half. Unfortunately he could not find the finish to match, firing narrowly wide of the target.
A Malone corner was then only half cleared by Cardiff and when Lowry played the ball back into the mix, fellow centre-half Osborne's hooked effort flew agonisingly wide as Millwall asked questions of the City rearguard once more.
Keeper Marshall was called into action just before the break with a sprawling save low to his left as Millwall finished the half on the front foot.
However Jackett's men were twice caught napping early in the second half - and Cardiff took full advantage.
Noone set up Whittingham for the first on 53 minutes, playing the ball square to his team-mate who fired a sweet shot into the top corner from just outside the box.
Noone turned from goal maker to taker barely 90 seconds later with a perfectly placed shot low into the bottom corner after Tommy Smith had threaded the ball through.
Jackett responded by bringing on new signing Chris Wood and Chris Taylor, both making their League debuts for The Lions, in a bid to spark an immediate response.
Although Millwall continued to prise and probe the Cardiff defence, keeper Marshall had few saves to make.
A drive by the tireless Abdou coupled with a fierce Taylor effort that was blocked on the line as Jackett's charges tried in vain to force their way back into the game.
But it was to no avail as Cardiff held out for their first away success of the season and leave The Lions looking at another tough test this weekend at home to Brighton.
Millwall: M.Taylor, Dunne, Malone, Abdou, Osborne, Lowry, Trotter, Wright (C.Taylor, 57mins), Henderson (Wood, 57mins), Keogh, Henry (Batt, 80mins). Subs not used: Forde, Shittu, Racon, Goodman.
Bookings: Dunne (47mins), Lowry (49mins)
Cardiff City: Marshall, McNaughton, A.Taylor, Hudson, Whittingham, Connolly, Smith, Noone (Bo-Kyung, 80mins), Gunnarsson, Mutch, Maynard (Helguson, 68mins). Subs not used: Cowie, Velikonja, Mason, Nugent, Lewis.
Bookings: Smith (66mins), McNaughton (72mins)
Scorers: Whittingham (53mins), Noone (55mins)
Att: 9,295 (away 469)