Hosts Villa took the lead through Stephen Warnock after 61 minutes but Bolton hit back immediately with a penalty by Martin Petrov and David N'Gog grabbed the winner a minute later.
Bolton climbed above Blackburn Rovers into 18th place in the 20-team standings, a point behind Wigan Athletic and Queens Park Rangers with a game in hand.
Villa remained in serious danger of going down on 36 points, just two ahead of Wigan and QPR with three matches left.
Bolton manager Owen Coyle praised his side's character in hitting back from a goal down.
"Coming into the game we had been in good form and the win tonight gives us 13 points from 21 that have been available," he told the club's website.
"All credit to the players because, to a man, they stood up and were counted tonight. Our character and belief on and off the pitch is going to be so important for us, home and away in our last four games."
Bolton travel to face Sunderland on Saturday while Villa, who have taken just three points from their last seven games, make the short journey to West Brom.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.