Cardiff fans staged a protest before kick-off calling for owner Vincent Tan to sell the club and they have now gone 11 games without a win in all competitions.
Caretaker manager Dean Whitehead could not halt the Bluebirds' slide, but they were spared the ignominy of falling into the bottom three thanks to Blackpool's clash with Huddersfield Town being postponed.
Millwall remain in eighth, just two points below third-placed Watford.
The visitors started on the front foot with Mason Bennett firing high and wide from 25 yards and Zian Flemming trying his luck from 35 yards.
Callum Robinson saw a header tipped over at the other end, but Millwall should have been ahead in the 12th minute.
George Honeyman picked out Flemming in the middle, but the Dutchman's side-foot effort was wide from 12 yards out.
Gary Rowett's men did not have to wait too long to break the deadlock, however, as Bradshaw slotted home in the 26th minute.
Jaden Philogene gave the ball away to Jake Cooper, who was allowed too much space and time to advance and slide a pass through for Bradshaw.
Cedric Kipre should have dealt with it but allowed Bradshaw to squeeze a shot between Ryan Allsop's legs while attempting to shepherd the ball out for a goal kick.
Cardiff responded well to that setback and could have been level before the break.
Philogene thumped a shot just over from 25 yards and the Aston Villa loanee then saw another effort blocked by Shaun Hutchinson after Robinson robbed Cooper in centre circle.
Robinson, a bright spark in the Cardiff attack, also had a cross-shot nodded behind by Callum Styles before the recalled Mark McGuinness missed the target from the corner.
But Allsop saved from George Saville and Bradshaw before the interval and there were boos from the home fans as the whistle blew.
The Bluebirds re-emerged a good two minutes before Millwall, and they started the second half as if they meant business.
Robinson curled just wide after one-two with Kion Etete on the edge of the box and Etete went round Hutchinson and curled a shot just off target soon afterwards.
Sheyi Ojo then wasted a great chance when he headed wide from Calum O'Dowda's cross just before the hour mark.
Millwall were under the cosh, but they would have doubled their lead on the break if McGuinness had not blocked Honeyman's goal-bound effort.
Cooper was lucky to escape sanction for an apparent forearm smash on substitute Isaak Davies late on, but Millwall otherwise kept Cardiff at arm's length.
Cardiff City: Allsop, Ng, McGuinness, Kipré, O’Dowda, Wintle © (Ralls 69’), Rinomhota, Ojo (Davies 69), Philogene, Robinson, Etete. Subs not used: Alnwick, Sang, Nelson, Sawyers, R Colwill.
Millwall: Long, McNamara, Hutchinson ©, Cooper, Mitchell, Bradshaw (Shackleton 80’), Flemming, Styles (Malone 90’), Bennett (Leonard 63’), Saville (Cresswell 90’), Honeyman (Voglsammer 80’). Subs not used: Białkowski, Esse.