Millwall secured their highest league finish since 2002 after Shaun Williams' penalty earned them a 1-0 victory over Championship play-off contenders Aston Villa.
Williams sent goalkeeper Mark Bunn the wrong way from 12 yards on the half-hour mark to secure a seventh-place finish for Neil Harris' side on the final day.
Villa meanwhile were already confirmed to finish fourth in the table and will face Middlesbrough in the play-offs after Patrick Bamford's injury-time equaliser against Ipswich.
Stand-in Villa goalkeeper Bunn, making his first start since January 2017, did well to prevent his side from going behind in the 15th minute.
Aiden O'Brien's attempted cross was heading goalwards, forcing the alert keeper to tip the ball over the bar.
However, he was well beaten by Williams' winner from the spot, awarded by referee Tim Robinson for Henri Lansbury's clumsy foul on Jed Wallace.
Villa's best spell of the first half came after they went behind. Josh Onomah wasted an opportunity, shooting tamely straight at Millwall goalkeeper Jordan Archer after good play by Albert Adomah.
Tottenham loanee Onomah also gave Archer an easy save with a long-range effort three minutes before half-time.
Millwall could have doubled their advantage twice in the early exchanges after the break. First, Williams narrowly headed over Ben Marshall's corner before Fred Onyedinma missed the target having been played through by leading scorer Steve Morison.
Goalkeeper Archer and the Millwall defence were rarely troubled by Villa in the second half, with their best opportunities all coming from distance.
Onomah's spectacular curling effort sailed narrowly over the bar, and Conor Hourihane's drive from 20 yards flew past the upright.
Archer's best save of the game came shortly after the hour, as he flew through the air to tip James Bree's curling effort from the edge of the box out for a corner.
Villa boss Steve Bruce made a triple substitution 16 minutes from time, bringing on Jack Grealish, Robert Snodgrass and former Lions striker Lewis Grabban, to inject life into Villa's sluggish attacking play.
Hourihane tested Archer with a volley shortly after, before Grealish's attempt to equalise at the back post was crucially blocked by Shaun Hutchinson.
Ultimately only late heroics by Bunn prevented Villa falling further behind at The Den.
The Villa goalkeeper kept out Lee Gregory's late penalty, awarded following lengthy consideration by Robinson, after Bree handled Onyedinma's header.
He also, somehow, saved James Meredith's rebound with his feet to keep it at 1-0.
English League Championship Standings
POS | Team | GP | GD | PTS |
---|---|---|---|---|
1 | Fulham | 46 | +63 | 90 |
2 | AFC Bournemouth | 46 | +35 | 88 |
3 | Huddersfield Town | 46 | +17 | 82 |
4 | Nottingham Forest | 46 | +33 | 80 |
5 | Sheffield United | 46 | +18 | 75 |
6 | Luton Town | 46 | +8 | 75 |
7 | Middlesbrough | 46 | +9 | 70 |
8 | Blackburn Rovers | 46 | +9 | 69 |
9 | Millwall | 46 | +8 | 69 |
10 | West Bromwich Albion | 46 | +7 | 67 |
11 | Queens Park Rangers | 46 | +1 | 66 |
12 | Coventry City | 46 | +1 | 64 |
13 | Preston North End | 46 | -4 | 64 |
14 | Stoke City | 46 | +5 | 62 |
15 | Swansea City | 46 | -10 | 61 |
16 | Blackpool | 46 | -4 | 60 |
17 | Bristol City | 46 | -15 | 55 |
18 | Cardiff City | 46 | -18 | 53 |
19 | Hull City | 46 | -13 | 51 |
20 | Birmingham City | 46 | -25 | 47 |
21 | Reading | 46 | -33 | 41 |
22 | Peterborough United | 46 | -44 | 37 |
23 | Derby County | 46 | -8 | 34 |
24 | Barnsley | 46 | -40 | 30 |
Championship News
Fabio Carvalho joins Liverpool from Fulham
Liverpool have announced the signing of Fabio Carvalho from Fulham, with the player set to join on July 1.
Elliot Embleton's screamer secures promotion for Sunderland
Elliot Embleton finds the net from well outside the box in a 2-0 win over Wycombe to promote Sunderland to the Championship.
Nottingham Forest fan jailed for Billy Sharp headbutt
A fan who headbutted Sheffield United's Billy Sharp during a pitch invasion has been jailed for 24 weeks and handed a 10-year football banning order
Police arrest man after Blades skipper Sharp attacked
Nottinghamshire Police on Wednesday arrested a 31-year-old man on suspicion of assault after Sheffield United's Billy Sharp was attacked on the pitc
Billy Sharp: Man arrested after Sheffield United's Championship playoff defeat to Nottingham Forest
Sheffield United captain Billy Sharp was allegedly assaulted following a pitch invasion after their Championship playoff loss to Nottingham Forest.
Sheffield United, Nottingham Forest condemn 'assault' by pitch invader
Sheffield United manager Paul Heckingbottom condemned "assault" on team captain Billy Sharp by a fan following a loss to Nottingham Forest.