The striker scored in the fourth minute of injury time after Ben Foster brought down Matt Lowton to cap a dramatic derby.
It was Villa’s first league win since December – and Tim Sherwood’s first as boss – and ended a seven-game losing streak.
Saido Berahino looked to have earned a point for below par West Brom after he cancelled out Gabby Agbonlahor’s opener.
But Villa deserved the win and could have been clear by half time after Fabian Delph hit the post and Agbonlahor had two efforts cleared off the line.
It moved them three points clear of the Barclays Premier League drop zone as West Brom remained 13th.
Charles N’Zogbia replaced Scott Sinclair for the hosts while Albion were unchanged following their 1-0 win over Southampton as strikers Berahino and Brown Ideye shrugged off injuries.
Sherwood was looking for N’Zogbia to provide some inspiration but the hosts were nervous from kick off with the Baggies more composed in the early stages.
That evaporated though and Albion survived a huge let off after 16 minutes when Agbonlahor collected a cross, spun and fired at Foster.
It looked a straightforward one for the England keeper but he let it slip through his fingers and the ball trickled goalwards. Foster recovered to claw the ball back off the line as goal-line technology ruled it had not gone over.
It inspired Villa, though, and Tom Cleverley shot over before N’Zogbia fired straight at Foster who, this time, took it comfortably.
But Villa had their tails up and grabbed a crucial lead on 22 minutes when Agbonlahor took first blood in his personal duel with Foster.
Sherwood had urged his new side to find Benteke early and Brad Guzan’s long clearance went straight to the striker, who flicked the ball on for Agbonlahor.
The forward then outpaced Joleon Lescott and slipped the ball under the advancing Foster for just his fourth goal of the season and first since November.
It was the first goal Albion had conceded in 440 minutes and they almost shipped another eight minutes later.
Armed with the lead Villa relaxed and Agbonlahor’s pace continued to give the Baggies problems with the striker agonisingly close to a second on the half hour.
He, once again, beat the Albion defence to a long ball and toe-poked underneath Foster, only for Lescott to hack the ball off the line.
The Baggies failed to test Brad Guzan in the Villa goal as the hosts contained Berahino and Ideye with the visitors second best in the first half.
And Villa nearly doubled their lead in stoppage time when Delph found space with a clever turn and curled onto the base of the post from 25-yards.
The hosts were on top and continued to press after the break and Ashley Westwood curled a free kick over.
While it remained 1-0, though, Albion remained in the hunt and they wasted a glorious chance on 56 minutes when Craig Dawson header over from seven yards after losing his marker.
But 10 minutes later they did level as Villa let their rivals off the hook.
Chris Brunt’s deep corner was headed back by Lescott and Berahino was left alone in the six yard box to nod in his 18th, and simplest, goal of the season.
Villa were rattled and Jores Okore had to produce a fine challenge to deny Ideye before Foster claimed substitute Jack Grealish’s volley.
The Baggies’ equaliser had rocked Villa and they lost their first-half drive as the Baggies looked more threatening.
And a tense Villa Park almost boiled over when Berahino and Alan Hutton squared up with the latter landing a nasty challenge on the frontman. The Scot was lucky to escape from with just a booking.
There was a further twist in injury time though when Foster rashly took down Lowton in the box and Benteke sent him the wrong way from the spot.