The Spaniard had given the Gunners an early lead before Andreas Weimann leveled on 68 minutes, and was there to score the winner with just minutes remaining
The Spaniard had given the Gunners an early lead after five minutes, before Andreas Weimann equalized for the visitors midway through the second-half.
But Cazorla was at the ready to slot home with just minutes to go as the Gunners closed the gap on fourth-placed Tottenham to one point, extending Villa’s miserable run to just one win in 10 games.
Wenger made four changes from his side’s 3-1 humbling at the hands of Bayern Munich on Tuesday, with Nacho Monreal returning at left back and Carl Jenkinson replacing the injured Bacary Sagna. Giroud was also reinstalled to lead the line, while Abou Diaby came in for Aaron Ramsey.
The visitors, meanwhile, were still without skipper Ron Vlaar but welcomed Gabriel Agbonlahor back into the lineup as a left winger.
From the off, it was all Arsenal. The hosts controlled possession with palpable ease and created the first chance of the game after just two minutes, with Jack Wilshere forcing an early save from Brad Guzan.
And the Gunners didn’t have to wait long to open the scoring as Cazorla found possession minutes later, tucking away an easy finish at the second time of asking. Nathan Baker had blocked the Spaniard’s initial attempt at a cross but Cazorla showed no hesitation in reacting first to convert.
But Villa responded instantly, mustering its first chance of the game after 9 minutes as Charles N’Zogbia fed Agbonlahor on the edge of the box, only for the 26-year-old to fire his shot straight at Wojciech Szczesny.
After the Gunners’ emphatic start, a cricket score had looked a possibility but Villa was the side looking more and more likely to score. Close to the half-hour mark, the visitors enjoyed their best chance yet as N’Zogbia was first denied by Szczesny before Andreas Weimann then had his shot cleared by Per Mertesacker.
Theo Walcott curled a left-footed shot over the bar minutes later, before Giroud was then denied by Guzan once again as halftime approached.
But while the Gunners were playing like a side chasing Champions League qualification, the visitors were counterattacking with the hunger typical of a side fighting for vital points to keep them in the Premier League.
And on 68 minutes, Villa made its sharpness on the break tell as Weimann ended a fantastic move with a strike from range – all of which started from an Arsenal corner. Szczesny could have done better between the sticks but it was the speed at which the visitors broke that really caught the home side off guard.
With the equalizer came tension at the Emirates. The home crowd was anxious and Wenger knew it would settle for nothing less than a win.
The Frenchman responded by replacing Jenkinson with Lukas Podolski in an extremely attacking move. But it was Cazorla who again made the difference as the Spaniard found himself unmarked on the penalty spot late on to fire home the winner for his side.