By Rob Bishop at Villa Park
Villa climbed out of the Barclays Premier League relegation zone with a richly-deserved point - and they could easily have had all three.
Paul Lambert's men were more enterprising than Arsenal for most of a keenly-contested game at rain-lashed Villa Park.
And they were desperately unlucky when substitute Brett Holman's 25-yard drive was tipped on to the bar by Gunners' keeper Wojciech Szczesny 12 minutes from the end.
Once again, it was a highly-encouraging performance by a Villa side who will be hoping to build on this result against Reading on Tuesday.
Some of the team's early play was a delight, with Barry Bannan, in particular, delivering some precise passes.
Andreas Weimann's fierce 13th-minute cross-shot was punched away for a corner by Szczesny, while Christian Benteke miscued a volley across the goalmouth after the visitors had only partially cleared Karim El Ahmadi's cross from the right.
Bannan then tested the Arsenal keeper with a well-struck 30-yarder before Bannan's corner was headed wide by Benteke.
The visitors' first attempt came during the 19th-minute applause for Stiliyan Petrov, although Alex Oxlade Chamberlain's low shot was well off target.
There was a greater threat, though, when a lapse of concentration in the Villa defence resulted in Brad Guzan having to dive at Lukas Podolski's feet, and again when Aaron Ramsey's drive was blocked.
In the 38th minute Villa thought they had the lead when Weimann turned the ball home from a couple of yards after Bannan's free-kick had set up Ciaran Clark for a shot which was deflected into the path of the Austrian youngster.
Unfortunately a linesman's flag was raised for offside.
Laurent Koscielny missed a good chance two minutes before the interval, scooping his shot over from eight yards after finding space to meet Mikel Arteta's cross, and Arsenal were close again just after the resumption when Santi Cazorla was only marginally too high from the edge of the penalty area.
But Villa soon picked up the tempo again, Agbonlahor having a shot blocked after good work by Benteke before the Belgian international tried his luck with a 25-yarder which hit a defender and looped over for a corner.
In between those efforts, Villa were dealt a blow when skipper Ron Vlaar went off with a calf problem.
Matt Lowton moved into central defence alongside Clark, with sub Eric Lichaj taking over at right-back.
Another sub, Holman, set up a shooting opportunity for Agbonlahor in the 68th minute but Szczesny was equal to both that and a subsequent Benteke header following yet another excellent Bannan free-kick.
Ramsey, to be fair, wasn't far wide with a skidding low effort from just outside the area but Holman was desperately unlucky on 78 minutes.
Accepting Ashley Westwood's pass, the Australia international took a couple of strides before unleashing a superb 25-yard shot which Szczesny tipped on to the bar and behind for a corner.
Villa: Guzan; Lowton, Vlaar (Lichaj, 51), Clark, Stevens; Westwood, Bannan; Agbonlahor, El Ahmadi (Holman, 62), Weimann (Albrighton, 90); Benteke. Unused subs: Given, Ireland, Delph, Bowery.
Arsenal: Szczesny; Jenkinson, Mertesacker, Koscielny, Gibbs; Oxlade-Chamberlain (Arshavin, 77), Ramsey, Arteta, Cazorla, Podolski (Gervinho, 70); Giroud (Coquelin, 86). Unused subs: Mannone, Sagna, Vermaelen, Wilshere.