Swansea City have claimed a 3-1 victory over Arsenal at the Liberty Stadium to move out of the Premier League relegation zone.
The Swans recovered from a goal down for a deserved win on home soil, as their revival under new boss Carlos Carvalhal - now four wins and three draws in eight outings under the Portuguese - continues to gather pace.
Even with new recruit Henrikh Mkhitaryan introduced as a second-half sub, Arsenal struggled to get going all evening and were beaten on their travels for a third time in four outings, leaving them eight points adrift of the top four.
Swansea went with five across the back which made things difficult for Arsenal, particularly in the opening half-hour of the contest as they failed to create any sort of opportunity.
The hosts were thriving on the counter, though, with Jordan Ayew sending a deflected shot inches wide after some impressive wing play from Nathan Dyer.
Dyer was involved again moments later, this time sending in a back-post delivery that Alfie Mawson would have helped over the line if not for a last-ditch block from Aaron Ramsey, who was brought back into the side in place of illness victim Jack Wilshere.
The Swans felt that they should have had a penalty a quarter of the way through, but replays showed that Lee Mason - without the benefit of VAR - correctly spotted that Mohamed Elneny got a touch to the ball before taking out Sam Clucas inside the box.
Mawson then sent a shot inches wide of the post, before the visitors - with three wins in a row in this fixture prior to today - finally clicked into gear.
Having looked like a weak link for large parts of the first half Alexandre Lacazette set up Alex Iwobi with a nice first-time pass, which the Nigerian forward struck well only to be denied by Lukasz Fabianski in the Swansea goal.
Arsenal were in front three minutes later, however, with Mesut Ozil given too much time on the ball to loft it over the backline and into the path of Nacho Monreal, who still had work to do when tucking home his fourth goal of the campaign with a half-volley at the back post.
The Gunners' lead lasted less than two minutes, with Mawson sliding the ball clean through for Clucas to tuck past Petr Cech and restore parity in South Wales.
City were looking the livelier when in the final third of the field, and perhaps should have had a second when Leroy Fer got away from his man but sent a weak shot on target, rather than pick out Ayew on the overlap.
Arsenal also took some time to get going in the second period, getting away just one attempt via Ozil - a simple stop for Fabianski down low - before finding themselves a goal behind.
Cech's howler gifted the goal to Ayew, who helped the ball over the line after Arsenal's experienced keeper miscued a pacey back-pass from Shkodran Mustafi.
New signing Mkhitaryan had been on the field for just a couple of minutes at the time of that second goal, and even his introduction could not really turn the flow of the game.
Both Mustafi and Cech were guilty of further mistakes, with the former heading the ball into the path of Dyer to drag it into the side-netting with plenty of the goal to aim for.
Olivier Giroud was also introduced from the bench in the final 15 minutes, but even with their big-name attackers on the field the visitors struggled for creativity.
Clucas then sealed the points late on when blasting past Cech from close range for a second time after star man Ayew charged into the box, giving Swansea rare back-to-back league wins.
SWANSEA CITY (5-4-1): Fabianski; Naughton, Van der Hoorn, Fernandez, Mawson, Olsson; Clucas (Routledge 92'), Ki, Fer, Dyer (Carroll 83'); Ayew (Bony 88')
ARSENAL (4-2-3-1): Cech; Bellerin, Mustafi, Koscielny, Monreal; Elneny (Mkhitaryan 60'), Xhaka; Ramsey, Ozil, Iwobi (Giroud 76'); Lacazette