ARTICLE AD BOX
Swansea City produced a rousing second-half fightback to come from a goal down to beat Bristol City 3-1.
The Robins deservedly led at the break thanks to Andreas Weimann's fine run and finish.
But Michael Obafemi slid in to level early in the second period before on-loan Fulham defender Cyrus Christie headed in despite appeals for offside.
Joel Piroe drilled in his first goal in eight games to seal Swansea's second straight home win in stoppage time.
Swansea climb to 16th in the table, while Bristol City drop to 17th having seen their run without an away Championship victory stretch to 10 games.
Nigel Pearson will be left frustrated after his side failed to build on their midweek triumph over Reading, while this was a welcome win for a Swansea side who had won only one of their previous five games.
The Welsh club were searching for a response after a midweek mauling at Stoke, where they had produced arguably their worst display of the season.
They were much brighter in the early stages here, though they looked vulnerable whenever they turned over possession.
It was Swansea who threatened first, Obafemi curling a shot towards the bottom corner from 20 yards only for Max O'Leary to save.
The striker then saw an effort deflect wide, while Jamie Paterson's free-kick flashed past the post after hitting the wall.
Yet Swansea were dispossessed in their own half all too often in the first period, with a first warning coming when Chris Martin's drive was pushed over by Andy Fisher.
Fisher then had to come racing off his line to deal with Ryan Manning's underhit backpass, with the offside flag saving Swansea when Weimann looked poised to profit.
Antoine Semenyo forced a decent save from Weimann after teenage debutant Finley Stephens became the latest in a line of Swansea players to give the ball away.
When Piroe followed suit - albeit in Bristol City territory - Nigel Pearson's team finally made Swansea pay.
The impressive Semenyo was the provider, guiding a perfect pass into the path of Weimann.
Bristol City's captain had enough pace to hold off Manning and then found a sumptuous finish, lifting his shot high into the net from the edge of the area.
Swansea found the swift reply they needed, as they worked the ball patiently to Christie in the inside-right channel.
His attempted shot turned into the perfect cross, as Obafemi tapped in his second goal in three games at the far post.
Bristol City struggled to open Swansea up after the break, with the one major threat coming when Flynn Downes lost possession and Weimann's drive deflected over.
Swansea had the greater momentum as the contest wore on, and went ahead after Piroe's flicked effort reached Christie and his first-time shot was saved by Daniel Bentley, who had come on for the injured O'Leary.
Bentley also saved Olivier Ntcham's follow-up effort only for Christie to head in his first goal since joining Swansea in January.
Bristol City's appeals for offside fell on deaf ears, and their misery was complete in the fourth minute of stoppage time when Piroe turned onto his left foot on the edge of the area and rifled a shot into the bottom corner.
Line-ups
Swansea
Formation 3-4-2-1
- 33Fisher
- 30BurnsSubstituted forNtchamat 75'minutes
- 5Cabango
- 3Manning
- 23ChristieBooked at 90mins
- 4Downes
- 8Grimes
- 13Wolf
- 17Piroe
- 12PatersonSubstituted forSmithat 90'minutes
- 9ObafemiBooked at 56minsSubstituted forLatibeaudiereat 85'minutes
Substitutes
- 6Fulton
- 7Smith
- 10Ntcham
- 14Joseph
- 18Hamer
- 21Dhanda
- 22Latibeaudiere
Bristol City
Formation 3-4-1-2
- 12O'LearySubstituted forBentleyat 63'minutes
- 26Vyner
- 22Kalas
- 25KloseBooked at 59mins
- 3DasilvaBooked at 69mins
- 42MassengoSubstituted forWilliamsat 60'minutesBooked at 90mins
- 36Scott
- 16PringSubstituted forWellsat 84'minutes
- 14Weimann
- 18SemenyoBooked at 86mins
- 9MartinBooked at 90mins
Substitutes
- 1Bentley
- 8Williams
- 21Wells
- 24Cundy
- 31Idehen
- 37Conway
- 38Benarous
Referee:Keith Stroud
Attendance:19,162
Live Text
Match ends, Swansea City 3, Bristol City 1.
Second Half ends, Swansea City 3, Bristol City 1.
Hand ball by Joe Williams (Bristol City).
Joe Williams (Bristol City) is shown the yellow card.
Goal! Swansea City 3, Bristol City 1. Joël Piroe (Swansea City) left footed shot from outside the box to the bottom right corner.
Joel Latibeaudiere (Swansea City) wins a free kick in the defensive half.
Foul by Chris Martin (Bristol City).
Cyrus Christie (Swansea City) is shown the yellow card.
Chris Martin (Bristol City) is shown the yellow card.
Substitution, Swansea City. Korey Smith replaces Jamie Paterson.
Foul by Olivier Ntcham (Swansea City).
Alex Scott (Bristol City) wins a free kick in the defensive half.
Antoine Semenyo (Bristol City) is shown the yellow card for a bad foul.
Ryan Manning (Swansea City) wins a free kick on the left wing.
Foul by Antoine Semenyo (Bristol City).
Ben Cabango (Swansea City) wins a free kick in the defensive half.
Foul by Chris Martin (Bristol City).
Substitution, Swansea City. Joel Latibeaudiere replaces Michael Obafemi.
Substitution, Bristol City. Nahki Wells replaces Cameron Pring.
Foul by Ben Cabango (Swansea City).