Burnley 2-1 Swansea
Swansea's automatic promotion hopes receded after a calamitous second half allowed Burnley to snatch victory.
Darren Pratley and Scott Sinclair both hit the woodwork for Swansea, before Fabio Borini sprung the offside trap to give the visitors the lead.
But Burnley were soon level when Ashley Williams could only slice Chris Eagles' cross into his own net.
Eagles then sealed the win from the penalty spot after Angel Rangel was adjudged to have shoved Jay Rodriguez.
Burnley's afternoon was completed by the appearance off the bench of Graham Alexander, two minutes from time.
The defender became just the second outfield player after Tony Ford to make 1000 career appearances in English football, Alexander nearly capping his landmark with a goal only to see his shot cannon off the bar.
Victory ended the Clarets' barren run of four consecutive Championship defeats and reignited hope that Eddie Howe's men could make a late charge at the play-off places.
Swansea are now five points behind second-placed Cardiff with four games remaining, while Burnley are five points off sixth-placed Leeds with a game in hand.
Eagles had an early chance to put the Clarets in front but he fired wide from the edge of the penalty area.
Swansea started to take control and midfielder Darren Pratley almost marked his return to the Swans' starting line-up with a goal 17 minutes in, but his effort from 12 yards struck the post.
Andre Bikey spurned an opportunity to put Burnley ahead against the run of play when he headed wide.
But the visitors continued to press and were denied by the woodwork again when Pratley picked out Sinclair and the former Chelsea winger's header came back off the bar.
Borini was wasteful eight minutes before the break when he fired wide of Brian Jensen's goal as Swansea failed to reward their dominance with a half-time lead.
But the Italian, on loan from Chelsea, made no mistake eight minutes after the break when he broke the offside trap, raced onto Pratley's through ball and then kept his composure to slot the ball past Jensen.
Swansea were caught cold two minutes later though, when Eagles' strike flicked off Williams and deceived keeper Dorus De Vries to peg the Welsh side back.
Chris Iwelumo had a chance to put Burnley in front in the 66th minute when he rose to meet Daniel Fox's free-kick but the big striker headed wide from just six yards out.
Swans boss Brendan Rodgers brought on strike duo Luke Moore and Tamas Priskin as the visitors went in search of a precious victory.
But they were stunned when Burnley snatched all three points from the penalty spot 15 minutes from time.
Rangel was adjudged to have clattered into the back of Rodriguez as the striker jumped for a cross, and Eagles stepped up to beat De Vries from 12 yards out.