McShane the hero for Hull as Wolves & Peterborough go down
Hull clinched promotion to the Premier League, while Wolves and Peterborough suffered relegation to League One.
Elsewhere Leicester City sneaked into the final play-off place after a stunning 3-2 win over Nottingham Forest.
Hull were held to a last-gasp 2-2 draw at home to champions Cardiff, but Leeds' win at Watford sealed promotion for Steve Bruce's men.
Fraizer Campbell, who came on at the break, came back to haunt his old club by firing Cardiff in front on 49 minutes.
Click below for individual match previews and form guideBirmingham 1 Blackburn 1
Bolton 2 Blackpool 2
Brighton 2 Wolves 0
Burnley 2 Ipswich 0
Charlton 4 Bristol City 1
Crystal Palace 3 Peterborough 2
Derby 1 Millwall 0
Huddersfield 2 Barnsley 2
Hull City 2 Cardiff 2
Nottm Forest 2 Leicester 3
Sheff Wed 2 Middlesbrough 0
Watford 1 Leeds 2
Nick Proschwitz, who missed a great chance to score for Hull soon after Cardiff's opener, made amends for his miss just before the hour mark when he prodded the ball home from close range.
Hull turned the game on its head on 63 minutes when Paul McShane volleyed home Robbie Brady's corner to spark wild scenes inside the KC Stadium.
Proschwitz wasted the chance to make the game safe in the final minute when he saw his penalty saved by David Marshall.
There was still time for more drama as deep into stoppage-time Cardiff won a penalty after Abdoulaye Faye was adjudged to have handled the ball inside the box and Nicky Maynard buried his spot-kick.
Ross McCormack's late goal denied Watford the chance of automatic promotion after helping Leeds to a 2-1 win at Vicarage Road.
After losing No.1 keeper Manuel Almunia to injury in the warm-up, Watford suffered another goalkeeping blow midway through the first half when Jonathan Bond was stretchered off after a clash, meaning youngster Jack Bonham was thrown into the fray for his debut.
Bonham was at fault for Leeds' goal three minutes before the break when he got involved in a mix-up at the back allowing Dominic Poleon to tap the ball into an empty net.
Watford drew level three minutes later with a superb strike from the edge of the area from Almen Abdi, but their hopes suffered a blow just past the hour mark when Troy Deeney was sent off for a second bookable offence.
Leeds grabbed the winner in the final minute when Bonham was unable to keep out McCormack's chip from the edge of the box.
Brighton condemned Wolves to relegation with a 2-0 success at the Amex Stadium thanks to two goals from Kazenga LuaLua (5, 39).
Mile Jedinak's late goal dumped Peterborough back into League One after Crystal Palace won a five-goal thriller at Selhurst Park.
Lee Tomlin gave Peterborough the lead on 28 minutes, but the Championship's top scorer Glenn Murray drew Palace level from the penalty spot on the stroke of half-time.
Nathaniel Mendez-Laing restored Peterborough's lead on 63 minutes only for Kevin Phillips to level matters seven minutes from time.
A draw would have been good enough to keep Peterborough up, but Jedinak had the final word to send Darren Ferguson's men down and secure Palace's place in the play-offs.
Huddersfield and Barnsley secured survival after a 2-2 draw at the John Smith's Stadium.
Chris O'Grady gave Barnsley the lead on 14 minutes, but Jermaine Beckford drew Huddersfield level on 53 minutes.
Jason Scotland restored Barnsley's lead on 74 minutes, but James Vaughan earned a point for Huddersfield nine minutes from time and, with Peterborough losing at Palace, it ensured survival for the two Yorkshire sides.
Sheffield Wednesday secured safety with a 2-0 win over Middlesbrough at Hillsborough thanks to goals from Steve Howard (9) and Leroy Lita (31).
Millwall avoided relegation despite going down to a 1-0 defeat at Derby with Conor Sammon finding the net for the home side.
Leicester secured the final play-off spot with an exciting 3-2 win at Midlands rivals Nottingham Forest thanks to Anthony Knockaert's late winner
Bolton missed out on the play-offs after being held to a 2-2 draw by Blackpool at the Reebok Stadium.
Blackpool stunned the home side by racing into a two-goal lead with efforts from Matt Phillips (21) and Ludovic Sylvestre (35), but two goals on the stroke of half-time from Chris Eagles (45) and Craig Davies (45) drew Bolton level.
Birmingham and Blackburn shared the spoils after a 1-1 draw at St Andrew's with Jordan Rhodes cancelling out Ravel Morrison's opener.
Burnley leapfrogged Ipswich in the table with a 2-0 success over Mick McCarthy's side at Turf Moor thanks to goals from Junior Stanislas and Martin Paterson.
Charlton ended the season on a high with a 4-1 victory over already-relegated Bristol City at The Valley.