Dominic Solanke sent Bournemouth ahead from the penalty spot in the 31st minute, but Morgan Rogers levelled late in the first period, before Moussa Diaby and Leon Bailey netted for Unai Emery's side in the second period.
Villa are now six points ahead of fifth-placed Tottenham Hotspur, who have two games in hand, while Bournemouth stay 13th, boasting 42 points from their 33 league games this term.
The home side came close to making the breakthrough in the 10th minute, with Diaby delivering a dangerous cross into the Bournemouth box, but Pau Torres just could not make contact.
Bournemouth's first sight of the Villa goal came in the 18th minute, when Justin Kluivert showed excellent footwork before unleashing a fierce strike, which the home side's goalkeeper Emiliano Martinez kept out.
Villa in charge of fourth position in the table
Soon after, there was a VAR check for a potential Bournemouth penalty, with Lucas Digne seemingly handling inside the box, but a spot kick was not given, before Dango Ouattara turned a Lloyd Kelly just wide of the post, with the visitors looking dangerous in the final third of the field.
Bournemouth were given a penalty in the 28th minute, with Matty Cash taking out Milos Kerkez, and Solanke stepped up to send the away team ahead at Villa Park in the 31st minute.
Cash attempted to make amends with a strike down the other end in the 34th minute, but his effort from the edge of the box was always moving wide of the post.
Bournemouth were finishing the first period on the front foot, with Kluivert having another effort deflected just wide, while Solanke almost got a shot off inside the box moments before.
Ollie Watkins comes up with two assists in strong performance
Villa managed to level the scores in added time at the end of the first half, though, with Rogers cutting in from the left before finding the back of the net with a smart finish following excellent work from Bailey.
The home side then took the lead in the 57th minute of the contest through Diaby, with the forward turning a low cross from Ollie Watkins into the back of the net from close range.
Ouattara came close to making it 2-2 in the spell that followed, but the attacker saw his close-range header kept out by Martinez during a frantic period of the contest at Villa Park.
Villa netted their third in the 78th minute, with Bailey getting his name on the scoresheet by firing into the back of the net from close range after Watkins had played the ball across the goal.
Watkins could not add to the 26 goals that he has netted in all competitions this season, but he took his assist tally to 12, with the Englishman enjoying an incredible campaign.