John McGinn scored the only goal of the game, finishing off a slick move just seven minutes into the match.
Arsenal had plenty of chances to level the game and even win it, but they failed to take them.
It means they stay second in the Premier League, with Liverpool top after their win at Crystal Palace earlier on Saturday.
Simon Collings was at Villa Park to see Arsenal in action...
David Raya 7
A better performance after his horror show at Kenilworth Road on Tuesday. Made two good saves to keep out Ollie Watkins.
Ben White 6
Not at the form he was last season, as shown by Takehiro Tomiyasu's run of starts recently. Wasted a few good chances when in behind.
William Saliba 7
Had a great battle with Watkins and dealt with him fairly well overall. Won't have many tougher tests than that this season.
A pretty solid performance from the Brazilian, whose highlight was a stunning ball to play in Martinelli. The winger's effort was cleared off the line.
Oleksandr Zinchenko 6
Booked inside the opening 30 minutes and you feared for him against Leon Bailey. Regained his composure and saw plenty of the ball.
Martin Odegaard 5
Missed two great chances in either half. The second was particularly bad as he failed to hit the target. Summed up an off-night for the Arsenal captain.
Declan Rice 7
Like the while Arsenal team, he struggled early on. Improved as the game went on.
Kai Havertz 7
One of Arsenal's better players and increasingly looks at home in this team. Created a few good chances.
Bukayo Saka 5
Guilty in the first-half of not making more of some good openings. Scored after the break, but was flagged offside.
Gabriel Jesus 6
Led the line well. Unlucky not to have a penalty when caught by Douglas Luiz in the box.
Gabriel Martinelli 5
Had an effort hacked off the line when he dinked the ball over Emi Martinez. Got into good positions, but was wasteful.
Leandro Trossard (Martinelli 70') 5
Struggled to get into the game and looked a little off the pace.
Eddie Nketiah (Jesus 81') N/A
Reiss Nelson (Zinchenko 90') N/A
Subs not used: Ramsdale, Kiwior, Cedric, Walters, Elneny, Jorginho