The Bantams enjoyed the better chances of the contest until Steve Morison broke their hearts with an 86th-minute winner, firing Millwall back into the second tier after a two-year absence.
Bradford, meanwhile, suffer a playoff exit at the hands of the Lions for the second consecutive season, having also crashed out in the semi-finals following their fifth-place finish last term.
Both managers opted to stick with unchanged lineups from their semi-final victories over Fleetwood Town and Scunthorpe United respectively, and the game got off to a quick start with early sights of goal for both teams.
Millwall - appearing at Wembley for the fifth time in the past eight years - settled into the occasion quickly and began the match on the front foot, but the first shot of the afternoon came from Bradford when Tony McMahon's half-volley flew wide of the far post.
The Lions soon began to put Bradford under pressure with a string of corners, though, and both Shaun Hutchinson and Morison failed to make the most of chances within one minute of each other as the Bantams struggled to deal with their aerial bombardment.
Another Millwall corner provided Stuart McCall's side with the best chance of the first half, though, as Mark Marshall slid the ball through for Billy Clarke on the break only for the Bradford striker to be thwarted by a fine save from Jordan Archer when one on one.
From that point on Bradford began to take control of the game and Archer was called into action again to deny James Meredith from a tight angle, although that was a more routine stop for the Millwall keeper.
The Bantams struggled to turn their possession into clear chances, though, and their only other sights of goal before half time came via set pieces as both Rory McArdle and Charlie Wyke failed to seriously trouble Archer.
Bradford's first opening of the second half came from a set piece too, and this time McArdle should have opened the scoring when he put his header comfortably over the crossbar despite losing his marker and meeting the ball in a dangerous position.
Millwall responded with their best chance of the game up to that point shortly afterwards when Lee Gregory threaded a pass through for Jed Wallace, but he placed his finish a few yards wide of the target when he had only the keeper to beat.
McArdle squandered another opening from a set piece shortly afterwards as the match continued to ebb and flow, but Millwall soon began to take a greater degree of control as it inched seemingly towards extra time.
Meredith sent another headed half-chance wide of the target with eight minutes of normal time remaining, but it was Millwall who got the winner late on to seal promotion in dramatic fashion.
Having only booked their place in the playoffs courtesy of an 85th-minute goal on the final day of the regular season, the Lions struck even later this time around as Morison latched on to Gregory's flick and volleyed the ball past Colin Doyle from close range.
There was a question of offside against the goal, but it was allowed to stand and Bradford quickly switched their attention to responding in the little time they had remaining.
The Bantams' only chance to do so arrived in the fifth and final minute of stoppage time, but McMahon lacked composure at the key moment and slammed a shot into the side-netting from an impossible angle when he had plenty of teammates waiting for a cross into the box.
The final whistle followed soon after as Millwall bounced back from defeat in last season's playoff final to secure promotion to the Championship this time around.