Agbonlahor took his season's tally to nine Premier League goals
Gabriel Agbonlahor and Ashley Young inspired Aston Villa to a victory which took them above Arsenal into fourth.
Bolton took the lead through Johan Elmander's cute near-post backheel.
But Agbonlahor controlled a long ball before slotting in the equaliser and Villa went ahead when Kevin Davies headed into his own net.
Agbonlahor nodded in a brilliant Young cross and then set up his England team-mate for a deflected finish, before Davies headed a consolation for Bolton.
The hosts could even have had a fifth had referee Lee Probert spotted what looked an obvious penalty claim in the first half but that might have been too much for the Villa Park faithful, who had not seen a league goal since 9 November.
Following successive home stalemates against Manchester United and Fulham, the hosts would have welcomed the goal drought lasting longer than the 18 minutes it took for Bolton to snatch the lead.
With their first attack of note, Davies picked up a loose ball on the right and crossed for Elmander to beat Brad Friedel with a clever backheel, the Swede's fifth league goal of the season.
The hosts had every right to be shell-shocked, having had much the better of the opening quarter of an hour.
The electric pace of Young and Agbonlahor had a lumbering Bolton defence in all sorts of trouble - but they were struggling to beat the linesman's offside flag.
Bolton display disappoints Megson
Bolton almost added to their lead, Gretar Steinsson heading against the bar, before Agbonlahor finally did stay onside to head the ball away from his marker and finish expertly with his left foot.
That was the cue for the hosts to take complete control, Agbonlahor terrorising the defence with his pace and movement, and they took a deserved lead five minutes from time when Davies headed into his own net under pressure from Martin Laursen.
They will still be wondering how they were not further ahead at the interval. Probert inexplicably waved away Villa's penalty claims when Gary Cahill had used his arm to clear a corner.
Villa continued to control the game in the second half, but the excitement level dropped markedly - that is, until Young produced a touch of magic on the left wing, twisting and turning to make the space before whipping in a fabulous inswinging cross that Agbonlahor only had to glance home.
Bolton were forced to chase the game, and that only played into the hands of their counter-attacking opposition.
O'Neill admits 'absolute joy' about Villa duo
Agbonlahor picked up the ball on the left, and found Young inside the penalty box, the winger's fierce shot hitting Steinsson before beating keeper Jussi Jaaskelainen.
Bolton, who came into the match on a run of three successive away wins under manager-of-the-month Gary Megson, kept working and were rewarded when Davies headed in at the far post from Steinsson's right-wing cross in the 86th minute.
That made it 10 away goals in four games, but a comeback was too much to hope for.
Indeed, Villa spurned two more clear chances, both by Steve Sidwell, first failing to tap in Marlon Harwood's dangerous ball across goal and then seeing his shot blocked.
Aston Villa boss Martin O'Neill: "We will win the league! I am only joking. But the number of points - 31 - we have accumulated already is very important.
"We have now got to press forward and psychologically and physically it is a demanding month.
"We were finding it difficult after Bolton had scored, which was the last thing we had wanted.
"They looked quite comfortable at that stage but Gabby's goal was a terrific effort. We needed a piece of magic to equalise and after that I felt we took charge of the game."
Bolton manager Gary Megson:
"I'm obviously disappointed with the result, but more disappointed with the performance.
"Our defending throughout as a team was nowhere near strong enough for the level that we are playing at.
"Ashley Young and Gabriel Agbonlahor are good players but we let them have the ball and didn't close down enough. We were too easy to play against."
Aston Villa: Friedel, Cuellar, Laursen, Davies, Luke Young, Sidwell, Petrov, Barry, Milner (Reo-Coker 68), Agbonlahor (Shorey 87), Ashley Young (Harewood 81).
Subs Not Used: Guzan, Delfouneso, Knight, Gardner.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.