Swansea City won for just the second time in 11 Championship matches as Joel Piroe, Liam Cullen and Ollie Cooper struck in a 3-1 win over 10-man Sunderland.
Piroe tapped in to put Swansea ahead only for Dan Neil to equalise.
But Cullen’s close-range finish and Cooper’s drive secured Swansea’s first away win since early October.
Sunderland were left counting the cost of Luke O’Nien’s 18th-minute red card, for a heavy challenge on Cooper.
The Black Cats drop to 10th in the table having lost for the first time in five league games, with Swansea a place below Tony Mowbray’s team on goal difference.
Sunderland have been formidable opponents in recent times, having won five of their nine Championship games before this one and progressed into the FA Cup.
But having failed to turn performances into results too often in recent weeks, Swansea took advantage of O’Nien’s dismissal to claim three welcome points.
Sunderland had started the game with intent, pressing Swansea high and denying them possession – although visiting skipper Matt Grimes came closest to an early goal when his 25-yard effort hit the side netting.
The hosts felt they should have had a penalty for Cullen’s challenge on on-loan Manchester United youngster Amad Diallo.
But Swansea broke forward as home appeals were ignored – only for their counter-attack to end with a melee when O’Nien dived in on Cooper neat the halfway line.
When order was eventually restored, referee Keith Stroud showed O’Nien a straight red card, while Ben Cabango was booked for his part in the pushing and shoving which followed.
O’Nien’s exit changed the tide of the contest, with Harry Darling’s long-range effort saved by Anthony Patterson before Piroe’s shot was blocked.
Sunderland, reduced to playing on the counter, had a sight of goal before the break as Ross Stewart – who failed to score for the first time in seven appearances – stabbed wide from Jack Clarke’s centre.
The hosts saw another penalty appeal turned down early in the second half, after Cabango’s tangle with Dan Neil, before Swansea went in front.
Ryan Manning’s assist was key, the left-back stretching to volley Grimes’ deep cross back across goal to leave Piroe with the simple task of volleying home from a couple of yards out.
Sunderland’s response was admirable, as Clarke did well to cross from the left and Danny Batth’s knockdown was swept in by Neil.
Yet Swansea needed only six minutes to re-establish their lead, as Batth slid to clear Manning’s driven cross but only succeeded in teeing up the onrushing Cullen, whose instinctive touch guided the ball over the line.
Russell Martin’s team clinched a season’s double over Sunderland when Cooper surged into the box and, with the aid of a slight deflection, drove a shot into the top corner.
- 32HumeBooked at 90mins
- 13O’NienBooked at 18mins
- 4evansSubstituted forMichutat 83′minutes
- 10robertsSubstituted forBatthat 22′minutes
- 16Say itSubstituted forBaat 83′minutes
- 20ClarkeSubstituted forBennetteat 83′minutes
- 14StewartSubstituted forDajakuat 83′minutes
- 22LatibeaudiereBooked at 62mins
- 5CabangoBooked at 19mins
- 7AllenSubstituted forNtchamat 76′minutes
- 31CooperSubstituted forcundleat 87′minutes
- 20CullenSubstituted forSorinolaat 84′minutesBooked at 88mins
- 17PyroeBooked at 53mins
Match ends, Sunderland 1, Swansea City 3.
Second Half ends, Sunderland 1, Swansea City 3.
Foul by Luke Cundle (Swansea City).
Édouard Michut (Sunderland) wins a free kick in the defensive half.
Ryan Manning (Swansea City) wins a free kick on the left wing.
Foul by Dan Ballard (Sunderland).
Offside, Sunderland. Trai Hume tries a through ball, but Danny Batth is caught offside.
Trai Hume (Sunderland) is shown on the yellow card.
Foul by Joel Latibeaudiere (Swansea City).
Jewison Bennette (Sunderland) wins a free kick in the defensive half.
Luke Cundle (Swansea City) wins a free kick in the defensive half.
Foul by Daniel Neil (Sunderland).
Matthew Sorinola (Swansea City) is shown the yellow card.
Foul by Matthew Sorinola (Swansea City).
Trai Hume (Sunderland) wins a free kick on the left wing.
Foul by Ryan Manning (Swansea City).
Abdoullah Ba (Sunderland) wins a free kick in the defensive half.
Substitution, Swansea City. Luke Cundle replaces Oliver Cooper.
Matthew Sorinola (Swansea City) wins a free kick on the right wing.
Foul by Trai Hume (Sunderland).