Championship round-up:Reading sealed the Championship title as rivals Southampton were defeated by Middlesbrough.
Saints could have sealed their own promotion to the Premier League and extended the title race into the final round of matches but were undone 2-1 at the Riverside.
At the other end of the table, the expected relegations of Portsmouth and Coventry were rubber-stamped.
Things looked good for Southampton when Billy Sharp put them in front in the opening minute, only for Nicky Bailey and Merouane Zemmama to nick it for play-off chasing Boro.
Reading had earlier drawn 2-2 with Crystal Palace, enough to leave them four points clear at the top with a game to play.
The Royals had Jason Roberts sent off on the stroke of half-time with the score at 1-1 after Wilfried Zaha’s 14th-minute strike and Kaspars Gorkss’s swift equaliser.
Reading went ahead through Adam Le Fondre but were pegged back by Glenn Murray 16 minutes from time.
Pompey and Coventry were both sent to League One after losing their penultimate games of the season.
It was no surprise to see the pair join Doncaster in going down, though both had hoped for better.
Pompey had home advantage against Derby but went down 2-1. Jake Buxton put the Rams in front before Luke Varney levelled only for Steve Davies to restore the lead from the penalty spot.
Coventry, meanwhile, suffered a humbling 2-0 reverse to already-relegated Rovers. A 0-0 draw appeared to be on the cards until the last 10 minutes, with James Hayter converting an 81st minute penalty following Richard Keogh’s red card and Simon Gillett netting just before the close.
Blackpool confirmed their place in the play-offs with a decisive 4-0 win over Burnley. Stephen Dobbie, Gary Taylor-Fletcher, Stephen Crainey and Nouha Dicko were the scorers.
Ashley Barnes’s 84th-minute leveller for Brighton prevented Birmingham joining the Seasiders in the play-offs, at least mathematically, but their goal difference of 25 means they can already make plans for the promotion scrap. Substitute Nathan Redmond had earlier put Blues in front.
Cardiff dropped to sixth after a 1-1 home draw against Leeds in the early kick-off. Joe Mason’s opener was cancelled out by Luciano Becchio in the 73rd minute.
Hull are eighth following a 2-1 win over Nottingham Forest but cannot catch the top six.
A Chris Gunter own-goal and Matty Fryatt’s penalty were enough to see off Forest, whose consolation came via Radoslaw Majewski in injury time.
Bristol City defeated Barnsley 2-0, Cole Skuse and Jon Stead (penalty) on target.
An Andy Keogh brace and a Liam Trotter goal scored Millwall a 3-0 victory at Ipswich, while Peterborough drew 2-2 with visiting Watford.
Lee Tomlin gave Posh the lead with a 14th minute spot-kick only for Troy Deeney (26) and Sean Murray (48) to turn the tables. Paul Taylor rescued the point in the 54th minute.