Match ends, Aston Villa 2, Bolton Wanderers 0.
Aston Villa eased to their second straight home win under new boss Dean Smith as they eventually saw off free-falling Bolton Wanderers.
Jack Grealish's fourth-minute strike gave Villa the perfect start, but all they could add to it was a second-half header from skipper James Chester.
Villa's victory was only their fifth in 16 Championship games this season.
It lifts them four places to 13th going into the rest of the weekend fixtures, just four points off a play-off place.
But Phil Parkinson's Bolton have now managed just one win in 12, having picked up only one point out of a possible last 18.
Grealish had been given a pre-match nudge by new Villa boss Smith to spend less time chasing the ball and concentrate on the area where he can do most damage, closer to the opposition goal.
And he took less than four minutes to show he had listened to that advice.
From Tammy Abraham's nicely-weighted pass through the Bolton defence, Villa's prize asset coolly rounded keeper Ben Alnwick before side-footing into the empty net.
It was exactly an hour later, in playing time, when captain Chester, who had a first-half header disallowed for offside, added the second with his head from Grealish's dipping free-kick.
But in between, it was certainly not all plain-sailing as Villa - Abraham in particular - proved wasteful and were frustrated by too many offside decisions and a lack of protection of their players at times from referee Oliver Langford.
It took an extraordinary, acrobatic clearance on the line by Chester to keep out a goalbound header from Jack Hobbs. And it needed a scrambled near post save from home keeper Orjan Nyland, who still looks far from assured, to keep out Craig Noone.
Although Villa did hold out for a second home clean sheet under Smith, Bolton pressed throughout. A side who have scored just three times in two months were only denied something by their glaring lack of any genuine goal threat.
Aston Villa head coach Dean Smith told BSports:
"We deserved to win, but I didn't think we were anywhere near our best. Of the four games we've had since I came in, that was probably the least dominant we've been.
"After we scored the second goal, we had a 15 or 20 minute spell in which we were excellent, but there's still a lot for us to work on. That brief spell showed me the levels this group can get to.
"There was a distinct averageness about other things we did. But keeping a clean sheet will have given Orjan Nyland a lot of confidence.
"Jack Grealish did just what was asked of him in getting in the box and scoring. And James Chester put in a really good performance. Quite apart from his goal, that goalline clearance he pulled off was like another goal."
Bolton boss Phil Parkinson told BSports:
"We just need something to go for us. We had the chances. One cleared off the line and a lot of scrambles in the box.
"Conceding so early was disappointing. Was it concentration levels or was it a good link-up play between Abraham and Grealish? Probably a bit of both.
"But, for their second goal, how has the ref has given a free-kick? I'm gobsmacked. Joe Williams has won the ball cleanly with a great tackle.
"The officials have got to give us a helping hand by getting simple decisions right. I was livid. It's unacceptable at this level. They were probably not up to the standard required."
Match ends, Aston Villa 2, Bolton Wanderers 0.
Second Half ends, Aston Villa 2, Bolton Wanderers 0.
Attempt missed. Josh Magennis (Bolton Wanderers) right footed shot from the centre of the box is close, but misses to the right. Assisted by David Wheater with a headed pass.
Corner, Bolton Wanderers. Conceded by Alan Hutton.
Jonathan Kodjia (Aston Villa) wins a free kick on the left wing.
Foul by Jason Lowe (Bolton Wanderers).
Substitution, Aston Villa. Glenn Whelan replaces Jack Grealish.
Attempt missed. Conor Hourihane (Aston Villa) left footed shot from outside the box is close, but misses the top right corner. Assisted by Jack Grealish.
Attempt missed. Josh Magennis (Bolton Wanderers) header from the centre of the box is high and wide to the left. Assisted by Craig Noone with a cross.
Attempt blocked. Lloyd Dyer (Bolton Wanderers) left footed shot from the centre of the box is blocked. Assisted by Christian Doidge.
Attempt missed. Conor Hourihane (Aston Villa) left footed shot from outside the box is too high. Assisted by John McGinn.
Offside, Aston Villa. Alan Hutton tries a through ball, but Scott Hogan is caught offside.
Corner, Bolton Wanderers. Conceded by Axel Tuanzebe.
Attempt blocked. Neil Taylor (Aston Villa) left footed shot from outside the box is blocked. Assisted by John McGinn.
Craig Noone (Bolton Wanderers) is shown the yellow card for a bad foul.
Yannick Bolasie (Aston Villa) wins a free kick in the defensive half.
Foul by Craig Noone (Bolton Wanderers).
Substitution, Aston Villa. Scott Hogan replaces Tammy Abraham.
Conor Hourihane (Aston Villa) wins a free kick on the left wing.
Foul by Christian Doidge (Bolton Wanderers).
David Wheater (Bolton Wanderers) is shown the yellow card for a bad foul.
Yannick Bolasie (Aston Villa) wins a free kick in the attacking half.
Foul by David Wheater (Bolton Wanderers).
Substitution, Bolton Wanderers. Christian Doidge replaces Erhun Oztumer.
Attempt missed. Jack Grealish (Aston Villa) right footed shot from outside the box is too high. Assisted by Conor Hourihane.
Substitution, Aston Villa. Yannick Bolasie replaces Albert Adomah.
Offside, Aston Villa. Neil Taylor tries a through ball, but Jonathan Kodjia is caught offside.
Attempt missed. Craig Noone (Bolton Wanderers) left footed shot from outside the box is close, but misses to the right. Assisted by Joe Williams.
Substitution, Bolton Wanderers. Josh Magennis replaces Clayton Donaldson.
Attempt missed. Albert Adomah (Aston Villa) right footed shot from the centre of the box is just a bit too high. Assisted by Tammy Abraham with a headed pass.
Attempt missed. Jonathan Kodjia (Aston Villa) left footed shot from the left side of the box is close, but misses the top left corner. Assisted by Axel Tuanzebe.
Substitution, Bolton Wanderers. Lloyd Dyer replaces William Buckley.
Alan Hutton (Aston Villa) wins a free kick in the defensive half.
Foul by Craig Noone (Bolton Wanderers).
Offside, Aston Villa. Albert Adomah tries a through ball, but John McGinn is caught offside.
Delay over. They are ready to continue.
Delay in match Pawel Olkowski (Bolton Wanderers) because of an injury.
Attempt blocked. Albert Adomah (Aston Villa) left footed shot from the centre of the box is blocked.
Attempt blocked. John McGinn (Aston Villa) right footed shot from outside the box is blocked.
Attempt blocked. Jack Grealish (Aston Villa) right footed shot from outside the box is blocked. Assisted by Neil Taylor.