Swansea City's automatic promotion hopes suffered a hammer blow at Turf Moor as Burnley came from a goal down to snatch all three points.
Having hit the post on two occasions in the first-half, the Swans took the lead after the break through Fabio Borini.
But Burnley hit back courtesy of an unlucky own goal from Ashley Williams and a penalty from Chris Eagles 13 minutes from time.
The defeat saw the Swans slip to fifth, five points behind second-placed Cardiff City with four games remaining.
The Swans made two changes to the side that drew 1-1 with Hull City in midweek with Leon Britton replacing Joe Allen in midfield with the young Welshman suffering from a tight thigh.
Darren Pratley also came into the middle for Stephen Dobbie who was given a rest on the bench.
Swansea were looking to end a run of three consecutive defeats on the road following blanks at Scunthorpe, Derby and Preston.
With second-placed Norwich beating Nottingham Forest 2-1 last night, the Swans would start the game four points adrift of the Canaries in fourth place and two behind Cardiff City.
Top scorer Jay Rodriguez returned to lead the Clarets' attack. Rodriguez replaced the suspended Marvin Bartley as the only change to the Burnley side which lost in midweek to Nottingham Forest.
Graham Alexander again started on the bench as he waits to make his 1000th career appearance with the Clarets looking to end a four-game losing streak to revive their fading top-six hopes.
He will join Tony Ford as the only players in English football history to make 1,000career appearances. Goalkeepers Peter Shilton, Ray Clemence and Pat Jennings are the only other members of this elite club.
Burnley's recent run has left them in 12th place and seven points adrift of sixth-placed Leeds, although they do have a game in hand on all the sides above them.
Swansea City: Dorus de Vries, Angel Rangel, Neil Taylor, Ashley Williams, Garry Monk (c), Leon Britton, Mark Gower, Darren Pratley, Scott Sinclair, Nathan Dyer, Fabio Birini. Subs: Yves Ma-Kalambay, Stephen Dobbie, Alan Tate
, Tamas Priskin, Craig Beattie, Andrea Orlandi, Luke Moore.
Burnley: Brian Jensen, Tyrone Mears, Danny Fox, Michael Duff, Andre Bikey, Wade Ellliott, Dean Marney, Jack Cork, Chris Eagles, Jay Rodriguez, Nathan Delfouneso. Subs: Graham Alexander, Clarke Carlisle, Ross Wallace, Chris Iwelumo, Steven Thompson, Shane Duffy, Lee Grant.
Ref: D Webb
Swansea got the game underway as Danny Fox crashed into Fabio Borini within the first two minutes and was lucky to escape picking up an early yellow card.
But it was Burnley who created the first opening after 4 minutes as Neil Taylor switched off and Chris Eagles nipped in to fire high and wide from a good position.
Swansea's first chance came in the ninth minute when Angel Rangel found Sinclair who worked his way across the edge of the area before firing a low shot just wide of Brian Jensen's post.
The home side held the upper hand early on though as Ashley Williams was well placed to block a fierce shot from Wade Elliott.
Eagles was causing plenty of problems for the Swans down the right as the visitors struggled to get hold of the ball.
It was Swansea who should have taken the lead though in the 18th minute when a long ball over the top from Rangel caught out Andre Bikey and sent Fabio Borini on his way. The big defender recovered in time as the ball found its way to Nathan Dyer. The winger took it to the by-line before pulling a great ball back to Darren Pratley whose shot from 10 yards hit the post with Jensen beaten.
Four minutes later and Swansea were cursing their luck again as Dyer played Borini through again. He found Pratley in support and when his cross found Scott Sinclair, his header hit the same post with Jensen again stranded.
Borini tried his luck with a free-kick 28 yards out in the 25th minute, but his effort curled just wide.
Swansea were well on top now as Sinclair won a free-kick off his former Chelsea team-mate Jack Cork with 31 minutes gone. Mark Gower delivered it and Garry Monk got up well on for the skipper's looping header to be saved by Jensen.
The chances kept coming as good graft by Pratley in the middle of the park secure Swans possession and Borini sent Dyer racing in behind a slow Burnley back-line. Dyer drilled his cross across the face of goal, but the oncoming Borini just failed to connect with 38 minutes gone.
Burnley's best effort came right on the stroke of half-time as skipper Dean Marney fired well over from the edge of the area as the home crowd had already turned on their team.
But after a slow start, Swansea left the field having dominated long periods.
Half-time: Burnley 0 Swans 0
Swansea started the second-half where they left off with Borini firing just wide of the far post before Dyer's darting run through bthe middle brought the first booking of the game as Tyrone Mears brought him crashing down in the 48th minute.
Less than a minute later and Gower followed him into the referee's notebook for a trip on Cork.
It was still all to play for as Burnley won a corner in the 51st minute, Mears delivered it to the far post and Jay Rodriguez headed into the side netting.
It was Swansea who broke the deadlock though in the 53rd minute as Pratley pinched the ball off Rodriguez. Pratley played it through the middle and Fabio Borini beat the offside trap to slip a great finish beyond Jensen for a deserved lead.
Burnley made their first change with Chris Iwelumo replacing Nathan Delfouneso. And no sooner had the big striker arrived for a Burnley corner, the home side were level.
Swansea cleared the initial danger, but as Eagles delivered an in-swinging cross from the other touchline, the ball skimmed off the head of Ashley Williams and beyond Doris de Vries for an own goal with 56 minutes gone.
Taylor nearly put the Swans back in front in the 61st minute when Pratley fed him with a great pass. But the left-back was thwarted by a fine save from Jensen.
The game was wide open now as Burnley grew in confidence and the back-tracking Sinclair was booked for a foul on Mears before Iwelumo headed into the side netting from the free-kick.
Swans boss Brendan Rodgers made a double substitution with 22 minutes remaining as Luke Moore and Tamas Priskin replaced Pratley and Sinclair.
Borini, who had dropped deeper into a midfield role, was still giving everything and was booked for a foul on Cork.
Leon Britton gave the ball away on the edge of the Swansea area to Marney and as Rodriguez picked up the loose ball, he brought a fine save out of de Vries.
It was only a temporary let off, however, as Burnley took the lead for the first time in the 77th minute when Rangel was adjudged to have pushed Rodriguez in the back as he went to meet an Elliot cross.
Swansea were furious as Chris Eagles slotted the penalty into the bottom corner for a 2-1 lead.
With eight minutes remaining, Swansea threw on Stephen Dobbie for Dyer with the game slipping away.
Three minutes from time, Graham Alexander came on for his 1,000th appearance with a standing ovation and the three points in the bag.