Villa emerged from a bruising, niggling, untidy encounter with an important point - and huge relief from the claret and blue faithful that they don't have to watch Stoke City every week.
Not for the first time, there was little entertaining football from this fixture as the Potters imposed their physical presence on the game.
But at least Paul Lambert's men attempted to produce some attractive football - and, arguably more importantly, they refused to be bullied by Stoke's intimidating tactics.
The only real surprise was that referee Roger East made only two bookings, the second of which resulted in Ryan Shotton being dismissed.
In fairness to Shotton, though, he was by no means the worst offender during 90 minutes which are best forgotten as quickly as possible.
Villa were on the front foot from the outset as they went in search of an early breakthrough.
Brett Holman's powerful fifth-minute shot looped up off a defender's boot, forcing Asmir Begovic to clutch the ball just under the bar as it dipped, while Christian Benteke equally fierce effort from 15 yards was blocked by Ryan Shawcross.
The ball ran loose across the penalty area, and Barry Bannan unleashed a low left-foot cross-shot which flew only narrowly wide of the far post.
A minute later, Benteke's excellent pass enabled Matt Lowton to cut in from the right touchline for a left-footer which was well held by Begovic, and then Bannan sent a free-kick over the bar as the crowd burst into their 19th-minute applause for club captain Stiliyan Petrov.
The visitors barely posed a threat during the opening half hour, although Steven N'Zonzi infuriated home players and fans alike when he pushed his hand into Nathan Baker's throat as they jostled for position at a corner.
But Villa were quickly back on the offensive and in the 35th minute, Brett Holman's fine pass set up Eric Lichaj for a low centre which was just behind Benteke.
As Stoke partially cleared, the Belgium international attempted a close-range overhead kick and accidentally struck Glenn Whelan, who needed treatment before he could continue.
The first half ended on a sour note as Ciaran Clark's forceful run was ended by a Whelan challenge.
Although the free-kick went Villa's way, the Stoke midfielder came off worse and there were angry exchanges between players from both sides.
It was all Villa again on the resumption, Benteke's shot being saved by Begovic after Lowton had nodded down Bannan's lofted pass into the penalty area.
Villa were furious when Whelan clattered into Chris Herd and again when Brad Guzan was charged by Kenwyne Jones as he gathered a cross from the right, although in between times Lichaj was also guilty of a cynical challenge on Shotton.
In the 66th minute, the Villa boss made a double substitution, sending on Darren Bent and Stephen Ireland for Gabby Agbonlahor and Holman, although it was the Potters who enjoyed greater superiority for the following 15 minutes.
The visitors produced a succession of high crosses, particularly after former Villa striker Peter Crouch had replaced Jones, but Villa's defended strongly before creating a good chance when Ireland fired over on the turn following Lowton's through ball.
Villa: Guzan; Herd, Clark, Baker; Lowton, Westwood, Holman (Ireland 66), Bannan (Delph 78), Lichaj; Agbonlahor (Bent 66); Benteke. Unused subs: Given, El Ahmadi, Weimann, Williams.
Stoke City: Begovic; Cameron, Shawcross, Huth; Shotton, Etherington (Jerome 68), Whitehead, N'Zonzi, Whelan; Walters; Jones (Crouch 75). Unused subs:Sorensen, Palacios, Upson, Kightly, Wilkinson.
Make sure you back the boys against Tottenham.