Sunderland snatched a place in the Championship play-offs at Millwall’s expense in a dramatic final round of regular games, while Coventry also secured a top-six finish.
Tony Mowbray’s Black Cats took sixth spot following a 3-0 win at Preston, where Amad Diallo, Alex Pritchard and Jack Clarke netted after the break.
Millwall had started the day in that position and looked set to seal a play-off berth at half-time against Blackburn, leading 3-1 with Duncan Watmore having scored a brace either side of Adam Wharton’s reply before Oliver Burke added a third for Gary Rowett’s men.
But things turned around in remarkable fashion in the second half as a goal from Joe Rankin-Costello and two from Ben Brereton Diaz secured a 4-3 victory for Rovers.
It left Millwall in eighth place, with Blackburn coming seventh as their own top-six hopes came to an end as they just missed out to Sunderland.
Coventry, meanwhile, claimed the point they needed with a 1-1 draw at fourth-placed Middlesbrough, who had already secured their spot in the play-offs.
Gustavo Hamer put Mark Robins’ Sky Blues ahead before Cameron Archer equalised in first-half stoppage time.
West Brom were the other team starting the day with a chance of making the top six but they suffered a 3-2 defeat at Swansea, for whom Joel Piroe scored a stoppage-time winner.
Albion had led twice, with efforts from Okay Yokuslu and Semi Ajayi being cancelled out by Luke Cundle and Olivier Ntcham.
Luton, already confirmed as finishing third, drew 0-0 at home against Hull and will now face Sunderland in the play-off semi-finals, while Middlesbrough take on Coventry.
Champions Burnley beat Cardiff 3-0 at Turf Moor, Josh Brownhill, Ashley Barnes and Scott Twine getting on the scoresheet as Vincent Kompany’s men finished with 101 points, while second-placed Sheffield United – also with automatic promotion already achieved – won 2-1 at Birmingham.
Oliver McBurnie and James McAtee scored in quick succession for the Blades early in the second half, with Dion Sanderson pulling a goal back for the hosts.
Among the three relegated teams, Blackpool finished on the most positive note as Morgan Rogers’ early goal earned them a 1-0 win at Norwich.
Bottom side Wigan drew 0-0 at home with Rotherham, while 22nd-placed Reading lost 2-0 at Huddersfield, where Josh Koroma and Joseph Hungbo got the goals.
Elsewhere, Watford beat Stoke 2-0 at Vicarage Road, Imran Louza and Keinan Davis netting, and it was the same scoreline as Bristol City triumphed at QPR, with Mark Sykes and Sam Bell on target.