Arsenal 0 Aston Villa 2
Martin O'Neill's team kept it solid at the back, working as a team to deny the Gunners time and space but had a deadly counter-attack spear-headed by the lightning-heeled Gabriel Agbonlahor.
The England striker scored the second, but put Gael Clichy under severe pressure to force the Frenchman to head into his own goal for the first.
A notice of intent was made early on by Villa. Manuel Almunia's hands were stinging after just 30 seconds of the game when Ashley Young unleashed a venomous 30-yard drive directly at the fit-again Arsenal keeper.
Aston Villa were presented with a golden opportunity to take the lead on 19 minutes after Theo Walcott had upended Ashley Young following a poor clearance by Clichy.
Ashley Young stepped up to take the penalty himself, but the Spanish keeper guessed right and turned the ball around his right post for a corner.
Ashley Young tried to make amends on the half-hour with a 35-yard snap-shot that had Almunia scampering across his goal but the ball flew just wide of the left post.
Arsenal were pushing their luck and were again in debt to their keeper in the 35th minute when he saved a Gareth Barry shot from the edge of the area. Villa were cutting through Arsenal's defence too easily and too often.
Arsenal tried to inject some urgency into their game after the interval, but to little avail. Villa, for their part started to defend more deeply, relying on the speed of Agbonlahor on the counter-attack.
Arsene Wenger introduced Emmanuel Adebayor in place of Abou Diaby in the 61st minute, switching to a two-pronged attack. He then introduced midweek goal hero Carlos Vela ten minutes later.
However, it was Villa who took the lead in the 70th minute, somewhat controversially.
With Bacary Sagna down injured, Ashley Young took advantage with a burst down the right side and his cross into the box was headed into his own net by Clichy, under pressure from Agbonlahor.
A minute later Adebayor forced the first real save of the match from Brad Friedel, who managed to parry the Togolese striker's header.
Arsenal's afternoon deteriorated further and the controversy magnified as Villa doubled their lead in the 80th minute.
While the Gunners appealed for a free-kick for a foul on Vela just outside the Villa area, Martin Laursen punted a long ball up field for Agbonlahor to chase.
He showed good strength again William Gallas before firing a low shot that Almunia could only help into the net.
Friedel kept his side's winning margin intact with a fine close-range save from Cesc Fabregas but the four minutes of stoppage time may have well been 40 as Arsenal never looked liked scoring.
A combination of resolute defending and passionless play from the home side saw to that. For O'Neill it was job done and the three points saw Villa draw level on points with the Gunners, but just behind them on goal difference.