Gavin Massey bagged a brace as 10-man Wigan dented Leeds’ automatic promotion dreams with a shock 2-1 win at Elland Road.
United looked to be cruising to three crucial points after Patrick Bamford gave them a 17th-minute lead just moments after Cedric Kipre was dismissed and Pablo Hernandez missed the resulting penalty.
But the relegation-battling Latics refused to buckle and Massey drew them level in the 44th minute before completing the turnaround just after the hour mark.
It leaves Leeds trailing second-placed Sheffield United on goal difference with three games to go in the Championship.
Kipre headed a Hernandez effort off the line after three minutes as United started on the front foot.
The Latics grew into the game and Leon Clarke headed just wide of the near post eight minutes later.
But the visitors were reduced to 10 men in the 14th minute when Kipre was adjudged to have handled a Bamford shot on the line.
Hernandez failed to take advantage as he hit the right post with his spot-kick.
But Bamford saved his blushes when he fired past Christian Walton to give the Whites the lead minutes later.
Both teams had chances, with Clarke chipping the ball just wide after he intercepted a poor backpass from Gaetano Berardi, before Tyler Roberts had a powerful volley cleared off the line by Latics midfielder Kal Naismith with four minutes of the half to go.
Massey drew the visitors level against the run of play a minute before half-time after he got on the end of a Lee Evans flick on and scored past Kiko Casilla.
Half-time substitute Kemar Roofe wasted a brilliant chance to restore Leeds’ advantage from close range in the 51st minute, before Mateusz Klich fired over six minutes later.
They proved to be costly misses as Massey hit his second to give Wigan a shock 62nd-minute lead after he headed home from Clarke’s knockdown.
Wigan even went close to a third when Reece James clipped the top of the crossbar with a long-range effort after 72 minutes.
Walton saved brilliantly with his legs to keep out Bamford a minute later, before James fired wide with nine minutes to go after Wigan hit Leeds on the break.
Leeds cranked up the pressure late on and Walton saved at full-stretch to keep out Hernandez.
At the other end James missed another great chance after dithering with his finish before he claimed to be fouled by Adam Forshaw in the area.
Leeds pressed for an equaliser in stoppage time but Wigan held on to move five points clear of the relegation zone.
Get the latest personalised Whites products on our new TEAMtalk Leeds United shop!