A superb Christian Benteke goal - his first since September - wasn't enough to prevent Villa from defeat as Arsenal went back to the top of the Barclays Premier League.
Benteke's 76th-minute diving header was the highlight of a spirited second half performance after Paul Lambert's had been hit by two Gunners' goals in the space of a minute.
Jack Wilshere and Olivier Giroud put the visitors in control after Villa had lost Nathan Baker with concussion.
The young defender was carried off on a stretcher after being struck in the face by Serge Gnarby's fierce drive, an injury which caused the game to be delayed for more than five minutes.
Villa, who had started with Baker in the middle of a three-man central defence, were forced to reorganise, reverting to a 4-4-2 formation.
And despite being second best for most of the opening period, their second half revival might well have earned them a point.
Not unexpectedly, Villa were on the back foot from the outset as the visitors knocked the ball around in considerable style.
Giroud, who had opened the scoring at the Emirates Stadium on the opening day, just failed to get a proper connection on Bacary Sagna's fifth-minute cross from the right, while Brad Guzan did well to prevent a corner when he raced across to prevent Giroud's deflected shot from going out.
The home side's first attempt saw Fabian Delph drag a low left-footer wide after the determined Benteke had won possession on the edge of the penalty area.
Baker needed lengthy treatment on the pitchafter being pole-axed by Gnarby's powerful shot, but even as he was being carried to the treatment room, Villa were close to grabbing a 22nd-minute lead as Karim El Ahmadi fired narrowly over from Delph's left-wing cross.
Then Nacho Monreal was booked for a cynical tackle on Gabby Agbonlahor as the striker raced down the right.
But Arsenal's response was to deliver two devastating blows in the space of 60 seconds.
Wilshere opened the scoring by stroking the ball left-footed into the bottom corner after Monreal had played it in from the left, and the home side had barely recovered from that setback when Giroud superbly controlled Wilshere's pass and drilled an angled shot beyond a helpless Guzan.
The goals, plus a couple of bookings and Baker's injury, resulted in referee Neil Swarbrick adding eight minutes of first-half stoppage time, during which El Ahmadi had a tremendous drive blocked just outside the area.
That was followed four minutes after the interval by sub Leandro Bacuna moving on to Matt Lowton's pass for a drive which forced Wojciech Szczesny into his first save of the match, before Bacuna fired a 25-yard free-kick into the Gunners' defensive wall.
Arsenal had posed less of a threat since the break but just past the hour mark Guzan had to dive to his left to clutch Santi Cazorla's well-struck drive.
Four minutes later, following a slick move on the left, Ashley Westwood unleashed a fierce, rising 20-yarder that forced Szczesny into a good save.
Benteke was also close with an angled shot following Bacuna's centre - and two minutes later the Belgium international reduced the deficit. It was a magnificent goal, too.
Bacuna's persistence enabled Lowton to deliver a fine cross from the right, and although the ball was just too far ahead of Agbonlahor, Benteke dived in to send a powerful header past Szczesny.
As Villa went in search of an equaliser, Delph's long-range effort was held by the keeper before Guzan saved well in stoppage time from Cazorla's angled shot.
Villa: Guzan; Vlaar, Baker (Bacuna 21), Clark; Lowton, Westwood, El Ahmadi, Delph; Luna; Agbonlahor, Benteke. Unused subs: Steer, Helenius, Weimann, Albrighton, Sylla, Tonev.
Arsenal: Szczesny; Sagna, Metesacker, Koscielny, Monreal (Gibbs 66); Wilshere, Flamini, Cazorla, Ozil, Gnarby (Rosicky 69, Oxlade-Chamberlain 86); Giroud. Unused subs: Fabianski, Podolksi, Jenkinson, Park.