Wolverhampton Wanderers ended their eight-match winless run as they beat an Arsenal team who had two players sent off.
Arsenal made a strong start with Bukayo Saka hitting a post and having a goal overturned for offside before they took a 32nd-minute lead.
Nicolas Pepe nutmegged two Wolves players before curling a beauty past Rui Patricio.
But the match turned in first-half stoppage time, when David Luiz brought down Willian Jose in the penalty area and was shown a straight red card for making no attempt to play the ball.
Ruben Neves converted the spot-kick and Wolves were quick to make their man advantage count.
Just three minutes into the second half, Joao Moutinho unleashed a long-range strike into the top corner to complete the turnaround with his first goal at Molineux.
Things got worse for Arsenal on 72 minutes as their goalkeeper, Bernd Leno, made a deliberate handball outside the box and was sent off for denial of a goalscoring opportunity.
The win leaves Wolves 14th, five points behind 10th-placed Arsenal, who were beaten for the first time in eight matches and missed the chance to go sixth.
See: Wolves report | Arsenal report
Next fixtures
Wolves: 7 Feb v Leicester (H)
Arsenal: 6 Feb v Aston Villa (A)
Match officials
Referee: Craig Pawson. Assistants: Daniel Cook, Peter Kirkup. Fourth official: David Coote. VAR: Jonathan Moss. Assistant VAR: Tim Wood.
WHO'S GOING TO BE YOUR
MAN OF THE MATCH?
Vote at Full-time