Millwall had to settle for a place in the Sky Bet Championship play-offs despite finishing the regular season with a comfortable 2-0 victory over relegated Oxford.
Femi Azeez scored both goals for the Lions as they finished third, with Ipswich's 3-0 home win against QPR ensuring it would be the Tractor Boys joining Coventry in the Premier League next season.
Nonetheless, reaching the second-tier play-offs for the first time since 2002 represents a significant achievement for Millwall, who will face Hull in the semi-finals after they snatched sixth place on the final day.
News of Ipswich's early breakthrough slightly quietened a home crowd of supporters who entered the ground daring to dream of only a second promotion to the top flight in their club's history.
It was Oxford who had the game's first good chance after 11 minutes when their top scorer Will Lankshear put over Stanley Mills' inviting ball into the box.
By the time Mihailo Ivanovic headed Zak Sturge's cross shortly after, Millwall's hopes of going up automatically were already evaporating fast, due to the news coming from Suffolk.
Sturge then came close to putting the Lions in front midway through the first half when his well-struck effort was deflected over the bar by Oxford defender Hidde ter Avest.
The hosts deservedly went ahead in the 34th minute when Camiel Neghli broke away before passing to Ivanovic who found Azeez on his outside, and the winger rifled into the roof of the net for his 10th goal of the season.
Millwall almost added a second four minutes later when Azeez's cross drifted over everybody and came back off the far post.
The Lions' lead was indeed doubled three minutes into the second half when Barry Bannan put Sturge in behind and his ball across the face of goal was tapped in by Azeez at the back post.
Casper De Norre then shot over from outside the area as the hosts looked capable of scoring with every attack.
Azeez, in particular, was enjoying himself and after some brilliant skill he teed up Neghli whose shot was beaten away by Oxford goalkeeper Jamie Cumming, with Thierno Ballo's follow-up going into the side netting.
Ryan Leonard was the next Millwall player to nearly extend his side's lead when his volley would have sneaked in at the near post had it not been for a smart save by Cumming.
Oxford almost halved the deficit with what was a rare chance for them when Mark Harris' header was just about kept out by Millwall keeper Anthony Patterson.
Play-off semi-final first legs
Play-off semi-final second legs
Play-off final
Millwall's Alex Neil:
To follow...
Oxford's Matt Bloomfield:
To follow...