Championship round-up: 10-man Wigan shock Leeds as Bolton are relegated
Leeds' automatic promotion hopes suffered a major setback as they slumped to a shock 2-1 defeat at home to 10 man Wigan.
Sheffield United had moved ahead of Leeds into second place on goal difference earlier in the day after beating Nottingham Forest 2-0 and Marcelo Bielsa's men were unable to respond, despite playing with an extra man following the 14th-minute dismissal of Cedric Kipre and going ahead through Patrick Bamford three minutes later.
Kipre was sent off for a handball on the line and, although Pablo Hernandez hit a post with the resulting penalty, Bamford's crisp finish soon broke the deadlock at Elland Road.
However, Wigan responded with a superb counter-attack from a Leeds corner to set up Gavin Massey to equalise and the same player headed what proved to be the winner in the 62nd minute as the visitors' survival hopes received a huge boost.
Second-half goals from Mark Duffy and Enda Stevens gave the Blades victory over 10-man Forest, who had Yohan Benalouane sent off two minutes into the second half for bringing down David McGoldrick on the edge of the area.
At the other end of the table, Bolton's relegation was confirmed as they went down 2-0 at home to in-form Aston Villa.
Former Watford owner Laurence Bassini agreed a deal to buy Bolton earlier this week, subject to approval from the English Football League.
But Wanderers will be playing League One football next season after second-half goals from Jack Grealish and Tammy Abraham sealed their fate and earned fifth-placed Villa their ninth straight league win.
Middlesbrough moved above Bristol City into the play-off places thanks to 1-0 win over Stoke, Britt Assombalonga scoring the only goal of the game after three minutes.
City had earlier needed a 72nd-minute equaliser to earn a point at home to Reading, who took the lead three minutes into the second half when Yakou Meite converted a slick free-kick routine straight off the training ground.
West Brom remain fourth in the table after edging a five-goal thriller with Hull.
Kieran Gibbs volleyed home the opener shortly before the interval before Todd Kane levelled for the visitors just three minutes into the second half with a thumping drive.
Kane produced another superb finish to fire Hull in front after 59 minutes, only for Dwight Gayle to level with a stooping header from close range almost immediately and then grab the winner five minutes from time.
Third-bottom Rotherham's survival chances suffered a major blow as they lost 4-3 at Swansea, despite twice taking the lead at the Liberty Stadium thanks to goals from Michael Ihiekwe and Matt Crooks either side of an equaliser from Oli McBurnie.
However, Swansea got back on level terms through Barrie McKay and goals from George Byers and a second from McBurnie proved decisive, with Will Vaulks's volley in off the bar scant consolation for the visitors.
Birmingham and Derby played out an entertaining draw at St Andrew's, with all four goals coming in the first 28 minutes.
Lukas Jutkiewicz opened the scoring after two minutes with a simple header from a corner, but Derby equalised shortly after through Martyn Waghorn's superb lob.
The home side regained the lead through Michael Morrison's close-range finish, but Derby responded once more as Richard Keogh headed in from Ashley Cole's cross.
Preston enjoyed a comfortable 4-0 victory over relegated Ipswich, Callum Robinson scoring twice in the first 22 minutes and Lukas Nmecha grabbing a brace in the second period.
Blackburn held on to claim all three points with a 2-1 win at QPR, with Danny Graham opening the scoring from the penalty spot and Bradley Dack making it 2-0.
Matt Smith pulled one back for the home side in injury time, but they could not find an equaliser.
Earlier in the day, Josh Dasilva scored his first senior goal as 10-man Brentford drew 1-1 at Millwall to keep their hosts scrapping for their Championship lives.
The 20-year-old former Arsenal trainee levelled superbly within five minutes of Lee Gregory firing the Lions into the lead, but, after Henrik Dalsgaard had seen red for the visitors, neither side could find a winner.
Birmingham 2-2 Derby
Bolton 0-2 Aston Villa
Leeds 1-2 Wigan
Middlesbrough 1-0 Stoke
Preston 4-0 Ipswich
QPR 1-2 Blackburn
Swansea 4-3 Rotherham
Sheffield United 2-0 Nottingham Forest
West Brom 3-2 Hull