Villa's makeshift side often toyed with the opposition after Dion Dublin gave them an early lead. They were tactics unbecoming of a side which needed to be more positive in view of their precarious league position.
Bolton were well below Premiership standard and struggled to make an impact until the closing stages of the first half as Villa lost their poise and purpose.
Due to injuries Villa again had to field a youthful side but it was the 'old' hands who conspired to open their account.
Alan Wright, making his first start since the 1-0 defeat at Bolton in September, played a low ball into the middle. Lee Hendrie allowed the ball to go through to the unmarked Dublin who side-footed his shot to the left of Jussi Jaaskelainen.
The need for a second Villa goal quickly became evident as Bolton slowly worked their way back into the game only to waste a couple of good chances.
Bolton, however, were indebted to Jaaskelainen when he made a reflex save to keep out a Gareth Barry header from Thomas Hitzlsperger's right-wing corner.
There was a let-off for Villa when Dublin allowed a Jay-Jay Okocha cross to go to the unmarked Kevin Nolan who blasted his chance hopelessly wide of the target.
In the second half Villa appeared content to defend their slender lead and allowed Bolton a great deal more scope.
There was a lack of real conviction in Villa's play with record signing Juan Pablo Angel making little or no impact. It was hardly a surprise when he was replaced by Darius Vassell in the 65th minute.
With Villa struggling it was Bolton who gained in confidence as they went in search of an equaliser.
Michael Ricketts tested Stefan Postma but Villa's stand-in goalkeeper again rose to the occasion with another confident save to keep the Midlands club in the game.
Vassell's introduction paid off in the 80th minute when he chased a pass from Wright to the by-line. Gudni Bergsson lost possession and Vassell fired his angled shot past Jaaskelainen.