Millwall missed out on securing an automatic promotion place despite beating Swindon at The Den.
Danny Ward gave Swindon the perfect start on three minutes but the Lions were quickly level thanks to Steve Morison’s penalty.
Gordon Greer’s 62nd minute own goal was added to by Morison 10 minutes later and even though Bily Paynter pulled one back late on, Millwall held on to seal victory and third spot, which means they will face Huddersfield in the play-offs.
The equation going into the game was fairly simple for Kenny Jackett’s side.
If Leeds failed to beat Bristol Rovers and Millwall won, it would be the Lions who claimed the final automatic promotion spot.
Andy Frampton and Neil Harris were dropped to the bench from the side which kicked-off last weekend’s 2-0 defeat at Tranmere, with Lewis Grabban and Shaun Batt getting the nod instead.
Millwall had the first chance on two minutes when Chris Hackett’s pass looked like it was going to be comfortably dealt with by Alan Sheehan but he failed to do so, allowing Grabban a run at goal before the winger dragged his shot wide of the post.
However, the visitors were in front 30 seconds later when the Lions conceded a free-kick which was swung into the box by Jonathan Douglas.
Paul Robinson headed away but only as far as Danny Ward, who smashed a low shot beyond David Forde from 18 yards.
Scott Barron’s eighth minute free-kick was headed just wide by Robinson as Millwall went in search of a quick response.
They didn’t have long to wait as they were back on terms in the 14th minute when Batt was brought crashing down by Douglas and Morison kept his cool to drill a low penalty home by sending Swindon keeper David Lucas the wrong way from the spot.
Morison picked up a yellow card shortly afterwards for a clumsy challenge on Sheehan.
Douglas ambitiously tried to find the target with a free-kick some 40 yards from goal but he failed to cause Forde any problems and the keeper made an easy save.
Darren Ward’s 20th minute header from Chris Hackett’s corner was tipped just over the bar by Lucas, while Grabban saw a long range drive go wide moments later.
Trotter blazed wildly over on 26 minutes after Batt had played a pass back to him outside of the area.
Grabban’s low shot was blocked by Sheehan two minutes later, while Batt was only denied a shot on goal after bursting through by a crucial tackle from Lescinel Jean-Francois.
Trotter headed just over from Barron’s dipping 40th minute cross, while Forde had to tip behind Charlie Austin’s delivery into the six-yard box three minutes later.
However, both sides went in at the break level and the news came through Leeds were being held as well and were down to 10-men.
Both sides went into rapture five minutes after the break when news began to spread Bristol Rovers had taken a shock lead at Elland Road, although as things stood it was Charlton who were going up at this stage.
Harris entered the fray in place of Batt on 54 minutes before Hackett’s scuffed shot was easily saved by Lucas and then Smith blazed harmlessly over from 40 yards.
But Millwall took the initiative for the first time in the game on 62 minutes when Morison latched onto Trotter’s long pass and delivered a cross which was put into his net by Swindon skipper Greer.
Now it was the Lions who were in second spot although it quickly became clear Leeds had equalised and The Den was stunned into silence when news came through they had taken the lead.
Swindon came close to drawing level when Douglas’s volley pushed out by Forde but Paynter fired over the rebound from close range.
Austin then headed into the ground from Sheehan’s free-kick before the danger was scrambled away.
Morison grabbed his second of the afternoon on 72 minutes with a volley from the edge of the area which looped over Lucas to seemingly make the game safe.
Douglas’ 78th minute cross was headed into the path of Austin by Paynter but he just failed to connect with it Paynter reduced the arrears five minutes from time when a Douglas free-kick took a deflection off him and landed in the back of the net.
Leeds were still playing after the final whistle went but it was shortly confirmed they had held on to victory.
Millwall: Forde, Smith, Robinson, Ward, Barron, Hackett, Abdou, Trotter, Grabban (Laird 67), Batt (Harris 54), Morison. Subs not used: Sullivan, Frampton, Alexander, Craig, Laid, Obika. Att: 17,083.
Comments: Our rules
We want our comments to be a lively and valuable part of our community - a place where readers can debate and engage with the most important local issues. The ability to comment on our stories is a privilege, not a right, however, and that privilege may be withdrawn if it is abused or misused.
Please report any comments that break our rules.
Read the rules here