Defender Ryan Shotton was controversially sent off in stoppage-time by referee Roger East for a second bookable offence, but replays showed he made no contact on Villa substitute Fabian Delph.
Villa striker Darren Bent made his return to action for the first time in six weeks midway through the second period, but was unable to inspire Villa to the three points.
The Potters are now unbeaten in six after a solid defensive showing while the hosts extended their run to four without a loss and showed signs of continued improvement under manager Paul Lambert.
Six of the last eight meetings between these Midlands rivals have now ended as draws, including four of the last five played at Villa Park.
Stoke have registered eight clean sheets this season although they could easily have fallen behind when skipper Ryan Shawcross kept out Christian Benteke's close-range volley after Ciaran Clark had headed the ball back across goal.
The visitors were then incensed by a centre-circle challenge on Glenn Whelan by Clark in first-half stoppage-time, but it escaped any punishment.
Villa started the second half brightly and Asmir Begovic went down to his left to cling onto Benteke's volley after Matt Lowton had flicked on a Barry Bannan cross.
Tempers were becoming frayed, but Benteke continued to ask questions and some trickery inside the area created half a chance. However, Robert Huth reacted quickly to block his shot on the turn.
Shotton became the first player to be yellow-carded after 75 minutes after fouling substitute Stephen Ireland.
Then came his red card deep into stoppage-time, although there was no time left for Villa to cash in on their numerical advantage as City kept an eighth clean sheet this season.
|Aston Villa||Team Statistics||Stoke City|
|0||1st Half Goals||0|
|2||Shots on Target||0|
|4||Shots off Target||2|
|58.5||1st Half Poss.||41.5|
|53.9||2nd Half Poss.||46.1|