Neil Harris ended Millwall's seven-match winless run before their FA Cup final with Manchester United by hitting the winner against Bradford from the penalty spot.
The Lions had failed to win since beating Sunderland in the semi-final at Old Trafford last month, and had lost their last three matches in succession.
But Harris struck his ninth league goal of the season to sink relegated Bradford after Paul Heckingbottom was adjudged to have handled inside the area.
Both managers had other things on their minds before this game. Bryan Robson set Bradford a two-week deadline to sort out their finances and resolve his future after a meeting of creditors was postponed.
And Millwall player-manager Dennis Wise obviously had the final in mind when he refused to name himself in the squad, choosing instead to rest a lingering back injury for the big day in Cardiff later this month.
Tim Cahill broke through in the ninth minute but his shot was gathered at the second attempt by Bradford goalkeeper Alan Combe off the toes of the lurking Harris.
A flare-up between Cahill and Danny Cadamarteri then threatened to bring the game to life after a late tackle by the Bradford forward on Peter Sweeney.
Cahill seemed to take retribution by slamming his forearm into Cadamarteri's face, and was lucky to escape with only a booking from referee Rob Styles.
The Australian midfielder has one of the worst disciplinary records in the Football League and is only just back from a ban after his red card against Cardiff City.
But any dismissal in this game would not result in the offender missing the final because any ban would not come into force until next season.
Bradford finally threatened in the 53rd minute when Lions keeper Andy Marshall missed a Cadamarteri corner and Robbie Ryan deflected Tom Penford's shot off the crossbar.
But Millwall were ahead in the 58th minute when Heckingbottom handled in his own area and Harris stepped up to stroke home the spot-kick right-footed into the bottom corner.
Styles failed to give the penalty at first and Bradford were furious when he changed his mind after consulting his linesman.
Harris shot over when left all alone moments later, but by the end of the game Millwall were already dreaming about their big day while Bradford were left to contemplate life in Division Two.
Teams
Millwall Marshall, Elliott, Lawrence (Dolan 56), Ward, Ryan,
Ifill, Sweeney (Weston 64), Cahill, Livermore, Harris,
Sutton (Cogan 45).
Subs Not Used: Gueret, McCammon.
Booked: Cahill.
Goals: Harris 58 pen.
Bradford Combe, Gavin, Bower, Wetherall (Edds 48),
Jacobs (Emanuel 77), Penford, Wolleaston, Heckingbottom,
Sanasy, Cadamarteri (Forrest 69), Branch.
Subs Not Used: Paston, Kearney.
Att: 9,635
Ref: R Styles (Hampshire).