STEVE Morison scored an 85th-minute winner as Millwall defeated Bradford 1-0 at Wembley to secure promotion to the Championship after two seasons in League One.
Morison's 19th goal of the season, in front of Millwall's fans, was enough to edge a predictably tight game.
Bradford had been the better side for much of it. Jordan Archer produced a superb save to deny Billy Clarke in the 14th minute and a minute later was behind James Meredith's powerful shot from inside the box.
Bradford were on top, slicker with the ball, and in the 25th minute Shaun Hutchinson diverted away Tony McMahon's free-kick from 20 yards after Jimmy Abdou had fouled Clarke.
Rory McArdle then headed straight at Archer from a corner, and McMahon had two efforts at goal after another corner was played to him on the edge of the box, but he shot wide.
Millwall's best chances were from set-pieces. Five minutes before half-time Morison headed the ball down to Hutchinson in the penalty area, but the centre-back couldn't make a clean connection. The ball fell to Tony Craig on the edge of the box but his shot was blocked.
McArdle headed McMahon's free-kick over the bar in the 58th minute, and then Millwall created their best chance up to then when Lee Gregory put Jed Wallace through but he shot wide.
With eight minutes left, Meredith was again forward from his left wing-back position, and directed a header from McMahon's cross wide.
Morison then put Millwall in front, finishing at the back post after Gregory had flicked on Shaun Williams' cross.
Bradford poured forward to try to rescue it, and McMahon had a late chance to equalise but fired a shot against the side netting.
Millwall hung on, and Neil Harris has taken them back into the second tier in his second full season in charge.
For much of the game it didn't look like it would happen. Early on, it had been Bradford in control. They dominated possession – notching 61 per cent in the first half – and created the better chances.
Millwall won seven corners in the first half, but then looked vulnerable to a counterattack.
It was after a sweeping move from one end of the pitch to the other that Clarke looked like he was about to give Bradford the lead. Hutchinson raced across but couldn't reach the attacker, Archer raced from his line and with the top of a finger saved his side.
Clarke and Mark Marshall were Bradford's two principal attacking threats. Stuart McCall had set his side up in a 3-5-2 formation, and his side were able to play the ball easily out from the back, from Romain Vincelot to Josh Cullen, with Meredith often in space on the left.
At the other end Morison was frustrated, and after he felt he was being impeded by Nathaniel Knight-Percival and complained to Simon Hooper, the referee had a word with both players.
Craig and Mahlon Romeo rarely left their own halves, as Bradford pressed Millwall further back. The Lions were giving away the ball too easily, and their best route to goal was through set-pieces, with Morison and Gregory well shackled.
Bradford fans delighted in reminding their opponents that Cullen is on loan to them from West Ham. At the other end Millwall supporters offered applause in the 40th minute for Antony Murphy, the Lions season-ticket holder who died on Friday following the heart attack he suffered during the game against Northampton on April 14.
Lions boss Harris was seen scribbling in his notepad before McMahon's efforts from that Bantams corner routine, and Millwall certainly needed a plan to make things less easy for Bradford. The fans in Wembley's west end were certainly the more buoyed by their team's first-half display.
Both sides were playing into the ends where their supporters were after the break. It was the Bradford fans on their feet again as Nicky Law strode into the box, before the ball was half-cleared to Meredith, whose shot came off a Millwall leg. At the other end Morison fired well wide.
Bradford fans paid their own tribute in the 56th minute, standing and applauding to remember the 56 people who died in the fire at Valley Parade in 1985.
Moments later the west end rose ready to celebrate when McArdle reached McMahon's free-kick, but the centre-back couldn't keep his header down.
But Millwall responded, and Wallace, who had been quiet, probably should have at least tested goalkeeper Colin Doyle, who hadn't yet had a save to make. The problem for Millwall was that every time they looked like they could get on top, pin Bradford in, McCall's side regrouped and played their way back up the pitch.
Millwall needed to change something, and that came in the 70th minute when Harris sent on Shane Ferguson for O'Brien. McCall made his own tactical tweak shortly after, switching to two out-and-out strikers when Alex Jones came on for Clarke. Timothee Dieng also replaced Law in midfield.
With five minutes left, Williams won a tackle in his own half. Gregory picked it up, before waiting for Williams to run beyond him. The midfielder cut inside and Gregory superbly headed the ball on to Morison who flicked home first-time.
Bradford fans thought McMahon had found a way through in the 95th minute, but it was Millwall supporters celebrating at the end.
It was also the perfect way for Morison to finish the season, after last year's captaincy disappointment. He was named man of the match, after once again producing the decisive contribution.
Image: Millwall FC