The side lying sixth in the Premiership had been made to look thoroughly ordinary by a team 86 places below them, but in the 77th minute Chester's new signing from Kaiserslautern, Goran Milosovaijevic, needlessly handled an Alan Thompson corner.
Even then, Lee Hendrie's spot kick was saved by Wayne Brown, but the Villa player followed up to complete the face-saving operation.
Chester could still have equalised when Andy Shelton, son of the City coach and the former Villa player, Gary Shelton, hit a dipping shot that was tipped over the bar by Peter Enckelman two minutes into injury time.
It would have been only justice if that had sneaked in, because Chester's performance had belied the gap between the clubs. They showed an energy and enthusiasm that outshone Villa from start to finish and it was only Thompson's ability to spray the ball around the pitch with his left foot and the occasional touch from Paul Merson that even hinted at a gulf in class.
Luke Beckett, always lively up front for Chester, put an early header just wide, while Villa's only effort of note in the first half was a shot from their Israeli, Nathan Ghrayib, making his debut in the absence of Dion Dublin.
Apart from that, Villa were quiet to the point of silence. Their travelling supporters made their feelings known when they chanted: "We're going to shoot in a minute." When they did, through Julian Joachim after a build- up from Thompson and Merson that was their best of the match, it went wide.
Chester's performance should give them confidence for the struggle to get off the foot of the Third Division, while the Villa fans' conviction that all is not well in their side will only have been confirmed.
Not that their manager, John Gregory, scrutinised the gift too closely. "We made it more difficult than we should have done," he said. "I thought the goal would come eventually, because we were much better in the second half. Having been told one or two other results tonight, we're reasonably happy."
Chester City (5-3-2): Brown; Shelton, Davidson, Lancaster, Woods, Doughty; Richardson, Milosavaijevic (Berry, 82), Fisher; Wright, Beckett. Substitutes not used: Berry, Jones, Malone, Carson, Cutler (gk).
Aston Villa (3-5-2): Enckelman; Ehiogu, Calderwood, Barry; Watson, Taylor, Hendrie, Thompson, Ghrayib; Merson (Vassell, 66), Joachim. Substitutes not used: Boateng, Draper, Vassell, Samuel, Oakes (gk).
Referee: J Kirkby (Sheffield).