Match ends, Swansea City 3, Arsenal 1.
Swansea City moved out of the Premier League relegation zone for the first time since November following a shock victory over Arsenal.
A horrendous error from goalkeeper Petr Cech allowed Jordan Ayew to score a tap-in which put the hosts ahead just after the hour mark, before Sam Clucas' second goal made the result safe.
Mesut Ozil's sensational pass had allowed Nacho Monreal to open the scoring for the Gunners, but Clucas levelled for Swansea within a minute at the Liberty Stadium.
Swansea earned back-to-back wins for the first time this season, while Arsene Wenger's side have won only three of 13 Premier League away games this term.
"I felt defensively we were very poor and made big mistakes. It's better not to talk about the second or third goals," said Wenger.
"Swansea were sharp, disciplined and hungry. Unfortunately I believe we were not good enough, I believe we were not disciplined enough."
Swans improved under Carvalhal
Under new boss Carlos Carvalhal, Swansea have now lost only once in eight games and victory over Arsenal was their second successive win against a team in the top six.
Free-scoring Liverpool were blunted in the Swans' previous outing at the Liberty Stadium and the hosts carried on that form as they dominated their visitors in the early part of the match.
Only a brilliant Aaron Ramsey tackle denied Alfie Mawson a tap-in from close range in the first half and an effort from Ayew looped over the bar off Mustafi with Cech wrong-footed and unable to act.
Mawson also shot just wide as Arsenal failed to clear a corner, before the England Under-21 defender provided the defence-splitting pass that allowed Clucas to score his first goal since he found the net at the Emirates in the reverse fixture on 28 October.
While that strike was worthy of praise, Swansea's second goal was entirely down to deficiencies in the Arsenal defence.
Mustafi's backpass proved awkward for Cech who sliced a clearance straight to Ayew and the Ghanaian slotted home from close range.
Clucas wrapped things up on 86 minutes, firing home after another lung-busting run from the impressive Ayew.
A farewell to Giroud?
For the Gunners, chasing a fourth successive win at the Liberty Stadium, there was a keen sense of intrigue regarding Arsene Wenger's team selection, with the imminent closing of the January transfer window.
Arsenal hope to conclude the signing of Pierre-Emerick Aubameyang before Wednesday evening, but that deal is thought to hinge on two others, including French striker Olivier Giroud switching from the Emirates to Stamford Bridge.
Giroud was included in Arsenal's squad despite rumours to the contrary, but had to be content with a place on the bench alongside new arrival Henrikh Mkhitaryan.
And it was clear from the start that Arsenal fans have, at the very least, mixed feelings on the potential departure of Giroud.
His name was sung by the travelling fans throughout the match and if he is to depart, some Gunners fans will clearly miss him.
However, those same supporters will no doubt relish the potential arrival of Aubameyang to give them a sharper focus in attack.
The Gunners failed to register a single shot on goal at the Liberty Stadium until almost the 30 minute mark, with Lukasz Fabianski easily able to turn an Alex Iwobi effort around the post.
Arsenal did score from their next attack when Ozil's sumptuous ball found Monreal unmarked and he finished like a striker from close range, left-footed.
Arsenal, however, were unable to hold their advantage for long, with the Swans level inside two minutes after Clucas' finish.
Indeed, had Leroy Fer passed to Ayew after powering through the Arsenal defence five minutes before the break, things could have been even better for the hosts.
Mkhitaryan had been on the pitch for less than two minutes when Cech's error handed Swansea the lead.
The Swans should then have killed off the game, but Nathan Dyer's fierce drive went just wide via the outside of the post after Ayew's lay-off.
Giroud was introduced for the ineffective Iwobi with 15 minutes remaining - to a rapturous reception from the visiting fans - but he did not get a sniff before Swansea were able to make the result safe when more hesitancy in the Arsenal defence allowed Clucas to pounce and fire home his second from close range.
Man of the match - Alfie Mawson (Swansea)
'We are breathing now, we're not dead anymore'
Swansea City boss Carlos Carvalhal: "We knew Arsenal would have more of the ball, as they do against almost all the teams in the Premier League.
"We knew if we put them under pressure it would create clear situations. We waited for our moment and then we scored. I must give all the credit to my players.
"We are breathing again now, we are not dead anymore. We've achieved nothing so far, but we are on our way to achieving a good position.
"We are not in a good position yet, but we can get there."
The stats - Carvalhal enjoys Wenger meeting
- Swansea have won consecutive Premier League games for the first time this season.
- Carlos Carvalhal is just the fifth manager to win his first two matches against Arsene Wenger's Arsenal in all competitions (also Alex Ferguson, Luis Enrique, John Gregory and Roy Evans).
- Arsenal have only taken 13 points away from home this season, their second fewest at this stage of a Premier League season (2005-06, 12)
- Arsenal have lost 15 points from winning positions this season in the Premier League - only Watford have dropped more (16).
- Nacho Monreal has scored four goals in his 21 Premier League games this season, after managing one in his previous five top-flight campaigns with Arsenal (134 games).
- All three of Sam Clucas's top-flight goals for Swansea have come against Arsenal, and have come with his only three shots on target for the Welsh side in the Premier League.
Swansea visit Leicester in the Premier League on Saturday (15:00 GMT), while Arsenal host Everton on Saturday in a 17:30 kick-off.
- 5van der Hoorn
- 12DyerSubstituted forCarrollat 83'minutes
- 4Ki Sung-yueng
- 17ClucasSubstituted forRoutledgeat 90+2'minutes
- 18J AyewSubstituted forBonyat 88'minutes
- 24BellerínBooked at 69mins
- 35ElnenyBooked at 54minsSubstituted forMkhitaryanat 60'minutes
- 11ÖzilBooked at 75mins
- 17IwobiSubstituted forGiroudat 76'minutes
- Lee Mason
- Shots on Target
Second Half ends, Swansea City 3, Arsenal 1.
Foul by Henrikh Mkhitaryan (Arsenal).
Tom Carroll (Swansea City) wins a free kick in the attacking half.
Substitution, Swansea City. Wayne Routledge replaces Sam Clucas.
Substitution, Swansea City. Wilfried Bony replaces Jordan Ayew.
Goal! Swansea City 3, Arsenal 1. Sam Clucas (Swansea City) right footed shot from the centre of the box to the bottom right corner.
Offside, Arsenal. Granit Xhaka tries a through ball, but Olivier Giroud is caught offside.
Substitution, Swansea City. Tom Carroll replaces Nathan Dyer.
Attempt missed. Aaron Ramsey (Arsenal) header from the centre of the box misses to the left. Assisted by Alexandre Lacazette with a cross.
Offside, Arsenal. Alexandre Lacazette tries a through ball, but Olivier Giroud is caught offside.
Substitution, Arsenal. Olivier Giroud replaces Alex Iwobi.
Mesut Özil (Arsenal) is shown the yellow card.
Foul by Henrikh Mkhitaryan (Arsenal).
Leroy Fer (Swansea City) wins a free kick in the defensive half.
Attempt saved. Henrikh Mkhitaryan (Arsenal) header from the centre of the box is saved in the centre of the goal. Assisted by Mesut Özil with a through ball.
Nathan Dyer (Swansea City) hits the right post with a left footed shot from the centre of the box.
Foul by Shkodran Mustafi (Arsenal).
Jordan Ayew (Swansea City) wins a free kick in the attacking half.
Attempt blocked. Kyle Naughton (Swansea City) right footed shot from outside the box is blocked.