Swansea City suffered late heartbreak as Pablo Hernandez struck a last-gasp winner for Leeds United to deny Steve Cooper's side a point that would have moved them into the play-off places.
Results elsewhere meant the Swans knew a positive result on home turf would move them into the top six and put their play-off fate firmly in their own hands with three games to go.
And they were on course to pick up a valuable point - with a display that was battling, but certainly not lacking in intensity or quality - until Hernandez's 89th minute shot beat Freddie Woodman and found the back of the net off the inside of the post.
The Swans had chances of their own, Conor Gallagher and Andre Ayew going closest, while Woodman made a superb second-half save from Patrick Bamford when a Leeds goal looked all but a certainty.
It had looked as though Cooper's side were about to climb into the top six and put their promotion fate in their own hands, but it was not to be.
After impressive wins in midweek, the two head coaches named unchanged line-ups and, with the two sides within reach of their respective promotion and play-off goals, it was little surprise to see the game start at a fierce tempo.
The Swans had the first sight of goal, Rhian Brewster firing straight at Illan Meslier after Jake Bidwell had twice won the ball in the air on the left of the Leeds area.
Gallagher then drove at the Leeds defence and saw his curling effort blocked by Kalvin Phillips as the ball headed goalward.
There was a pleasing zip to the Swans passing and movement in the early going, with Jay Fulton firing over after lovely link work between Matt Grimes and Gallagher.
There was a moment of panic for Swansea when Kyle Naughton cut out a cross and had to watch as his touch took the ball past Woodman but into the side-netting.
Shortly after the drinks break Woodman parried Stuart Dallas’ bobbling drive, and also denied Bamford after a hesitation in the Swansea defence.
At the other end, Ayew got to a Bidwell knockdown ahead of Meslier, but could not guide the ball back to another white shirt from the byline.
The Leeds keeper then plucked a Brewster header out of the air from a long throw, before Ayew’s cross was cut out as he looked to pick out the on-loan forward.
It was goalless at the break, but it had been an engrossing contest. However, Marcelo Bielsa opted to make a double change at the break as he sent on Ezgjan Alioski and ex-Swan Hernandez for Dallas and Tyler Roberts respectively.
Leeds started the second half well, with Swansea having to put bodies on the line to block a series of shots, before breaking out for Gallagher to force Meslier into a fingertip save.
Gallagher was proving lively, and a clever clipped cross was headed high and wide by Brewster just before the hour mark.
Woodman then made a brilliant save to deny Bamford from point-blank range after a wonderful cushioned cross from Jack Harrison.
Connor Roberts had the ball in the net at the other end, but it was ruled out for a close offside call in the lead up and Leeds went up the other end to win it.
Hernandez worked a little bit of space for himself and, while his shot was not struck cleanly, it just beat Woodman's despairing dive and rolled in off the woodwork.
And the Swans disappointment was compounded when Woodman was forced off by injury a few moments later.
Swansea City: Freddie Woodman (Erwin Mulder 90); Kyle Naughton, Ben Cabango, Marc Guehi (George Byers 90); Connor Roberts, Jay Fulton (Bersant Celina 90), Matt Grimes (captain), Jake Bidwell (Liam Cullen 90); Conor Gallagher, Andre Ayew; Rhian Brewster (Wayne Routledge 81).
Substitutes: Mike van der Hoorn, Nathan Dyer, Aldo Kalulu, Yan Dhanda.
Leeds United: Illan Meslier, Luke Ayling, Ben White, Liam Cooper (captain); Kalvin Phillips; Jack Harrison (Gaetano Berardi 90), Mateusz Klich, Stuart Dallas (Ezgjan Alioski 46), Helder Costa; Tyler Roberts (Pablo Hernandez 46), Patrick Bamford.
Substitutes: Kamil Miazek, Barry Douglas, Ian Poveda, Pascal Struijk, Mateusz Bogusz, Jamie Shackleton.
Referee: Keith Stroud