West Brom and Leeds were promoted to the Premier League despite contrasting fortunes on the final day of the 2019/20 Sky Bet Championship season.
A fifth-minute strike from Baggies midfielder Rekeem Harper proved enough to earn Slaven Bilic's side a 1-0 victory against QPR at The Hawthorns and pip Leeds - who had started the day two points clear - to the title.
That means West Brom return to the top flight at the second time of asking, having lost to Midlands rivals Aston Villa at the play-off stage last season.
For Marcelo Bielsa's men there will certainly be a twinge of disappointment, having been comfortably beaten 3-1 by Charlton in a game that saw them end with just nine players on the pitch.
Macauley Bonne dramatically boosted hopes of the Addicks' survival when he broke the deadlock seven minutes after the break and though a Mateusz Klich penalty restored parity, Helda Costa's dismissal with 14 minutes to play provided renewed hope for the visitors.
A second from Bonne added to that and after Luke Ayling was given his marching orders in the first minute of stoppage time, on-loan Man City midfielder Matt Smith netted a third, which saw the southeast Londoners retain their second-tier status on goal difference.
Final Championship table
Nottingham Forest had been in title contention prior to kick-off, but a 0-0 draw at home to a resolute Stoke side left them forced to settle for a play-off place, having finished just a point behind Leeds.
Bristol City joined them and secured the final top-six spot with a relatively straightforward 2-1 win over fellow promotion-chasers Preston at Ashton Gate.
A low-key first half sparked into life when Callum O'Dowda pounced from close-range after 49 minutes and Famara Diedhiou doubled the advantage shortly after.
Final Day results
Darnell Fisher halved the deficit to end a frantic 16-minute spell, but the hosts managed to hold on, despite a late onslaught.
Brentford marked their final league game at Griffin Park with a resounding 5-0 win over Barnsley, who were relegated back to Sky Bet League One as a result.
A Bryan Mbeumo strike and a penalty from Emiliano Marcondes had Thomas Frank's men ahead at the break, before Halil Dervisoglu, Marcus Forss and Julian Jeanvier rounded off the win for the play-off bound Bees.
That victory lifts them to fourth, above west London rivals Fulham, meaning the Cottagers will be forced to play the first leg of their play-off meeting at Craven Cottage, following their 2-2 draw with Wigan.
Kieffer Moore hit the opener for the Latics 11 minutes in, but Stefan Johansen responded inside 60 seconds to level the tie at the DW Stadium.
The pendulum swung back in the hosts' favour thanks to Dujon Sterling midway through the first half and though it looked as though they might stave off the looming threat of relegation, Neeskens Kebano hit a second-half equaliser to seal their fate.
Middlesbrough secured their place in next season's competition as a 0-0 draw with Sheffield Wednesday kept them from dropping into the relegation zone as Jonathan Woodgate's tumultuous first season in charge concluded.
Elsewhere, Scott Hogan scored twice as Birmingham beat Derby 3-1 at St Andrews, while Cardiff and Hull drew 1-1, with goals from Albert Adomah and Jackson Irvine.
Already relegated Luton ended the campaign with a narrow 1-0 home defeat to Blackburn, while Millwall and Huddersfield played out a goalless draw at The Den.