Title-chasing Arsenal maintained their long unbeaten streak at Villa Park but the woodwork twice denied them victory over Martin O'Neill's side.
Cesc Fabregas struck the post in first-half stoppage time and then Tomas Rosicky crashed a shot against the underside of the bar after the break.
Stiliyan Petrov had the first effort on goal but he failed to make proper contact on his 20-yard effort which flew harmlessly wide.
Arsenal goalkeeper Manuel Almunia was called into action to prevent Gabriel Agbonlahor from giving Villa a fourth-minute lead.
Emile Heskey played in Villa's 10-goal leading scorer and his low cross-shot contained plenty of power but was tipped around the post by Almunia.
Heskey was again prominent in finding the over-lapping Petrov in space down the left and his deft centre was only just too high for Agbonlahor.
Arsenal, unbeaten in their previous nine league matches, responded and Villa defender Richard Dunne deflected a shot from Eduardo for a corner.
Villa goalkeeper Brad Friedel then went down to his right to parry away a dipping drive from the edge of the box by Denilson.
open affair
Heskey was posing plenty of problems and Vermaelen was yellow carded after bringing down the England striker 25 yards out.
It was a situation tailor-made for the dead-ball skills of Ashley Young and he curled his free-kick only a couple of feet wide with Almunia rooted to his line.
The match was flowing from end to end and was an open affair with both sides putting the accent on attack in front of another near full house for Villa's fourth home fixture in 11 days.
Arsenal skipper Cesc Fabregas showed great skill in skipping past the challenge of James Milner and his shot from a narrow angle deflected off Heskey for a corner.
William Gallas got in an important header to cut out a dangerous cross from Ashley Young with Heskey and Agbonlahor well positioned in the centre.
Stewart Downing squandered a good chance to break the deadlock in the 32nd minute after Ashley Young had shaken off the challenge of Gael Clichy.
His cross to the back post dropped invitingly for the former Middlesbrough player but he could not keep his shot down.
Arsenal manager Arsene Wenger was forced to make a substitution after 35 minutes with Vermaelen limping out of the action and replaced by Sol Campbell.
Villa were looking the more likely to open the scoring although play went through a scrappy spell with both sides making a series of sloppy passes.
probing run
James Collins fouled Aaron Ramsey just outside the Villa box but Fabregas failed to make clean contact on his free-kick which was blocked by the Villa defensive wall.
But Fabregas was denied by the woodwork in injury-time. He made a probing run before his low cross shot beat the dive of Friedel but rebounded off a post.
Arsenal began the second half on the offensive and Friedel did well to block a shot from Fabregas.
But Downing should have done better for Villa when he headed wide from two yards out from a deep centre by Ashley Young.
Arsenal suffered a setback just after the hour mark when Eduardo limped off with what appeared to be a hamstring injury and was replaced by Nicklas Bendtner.
The Gunners were now looking the more likely to break the deadlock and twice in the space of a few seconds nearly went ahead.
Andrey Arshavin showed his class with a superb run into the Villa box and then forced a good block out of Friedel.
The rebound came out to Tomas Rosicky and his shot cannoned against the underside of the bar but did not cross the line.
With three minutes left Delph brought down Arshavin 20 yards out but Fabregas' free-kick was blocked.