The visitors went in front early on after John McGinn's goal in the 20th minute. The Scot latched on to an El-Ghazi cross, and was unmarked as he tapped it past Leno. McGinn has been in fine form for the Villains this year, and whenever he got on the ball he looked lively. The same can be said about Grealish who was also a standout player for the visitors.
It was a fiesty game which was justified when Maitland-Niles was sent off for a late tackle on El-Ghazi. He picked up his second yellow and went for an early shower in the 41st minute. Both teams went in at the break with one team happier than the other.
The Gunners replaced the young prospect Saka for a more defensive option by bringing on Chambers at the break, and they almost found themselves two behind when Mings' shot was almost deflected into the Arsenal net. McGinn then had a shot, but he could only fire his effort straight at Leno.
In the 58th minute, referee John Moss pointed to the spot after Guendouzi dazzled his way into the box and was fouled by Engles. Nicolas Pepe stepped up and scored to get his first Arsenal goal.
However, Villa regained the lead 90 seconds later after a Grealish cross was turned in by Wesley.
Arsenal huffed and puffed and thought they had got the equaliser when Guendouzi fired a shot off the post and deflected off Heaton. Luckily for the England stopper, the ball going past the post for a corner.
Arsenal then drew level when substitute Chambers found himself in the penalty box. He chipped the ball over Heaton to make it 2-2.
The home side were not satisfied with a draw and got the winner after Aubameyang was fouled on the edge of the box by Engles. The Gabon striker stepped up and scored a spectacular free-kick to make it 3-2 to the Gunners.
Villa had a late shout for a penalty after a shot was fired against an Arsenal arm, but Moss was having none of it, and the Gunners held on for the win.