A Chris Brunt stunner and a Fabian Delph own goal inside the first nine minutes got the Baggies off to a flyer but the hosts replied quickly through Andreas Weimann, Leandro Bacuna and Delph.
Youssouf Mulumbu made it 3-3 at half-time but Benteke secured only Villa’s third Barclays Premier League home win of the season from the spot after the striker himself was fouled.
The result left new West Brom manager Pepe Mel still waiting for his first victory in the job.
The performance of his side’s defence might also have raised concerns for a side that has now won just once in 13 league games.
In possession, they did arguably have the better of the game in the second half but they could not add to their tally.
Baggies captain Brunt lit the fuse for a remarkable night as he fired the visitors into the lead after just four minutes with a superb long-range strike.
West Brom won the ball from a Villa throw-in and it was quickly worked forward to Brunt, who flicked it up and then volleyed left-footed past Brad Guzan from 25 yards.
Brunt was soon involved again as his quickly-taken free-kick released James Morrison down the left to set up the second in the ninth minute.
Morrison crossed low to the centre and Delph, in his efforts to intercept, could only divert into his own net.
For a second time this season, West Brom were 2-0 up against Villa, but again they surrendered that advantage.
Villa pulled one back after just 12 minutes as Guzan went route one.
Weimann was played onside as the ball made its way to him via the head of a West Brom defender and the Austrian took full advantage as he lobbed Ben Foster.
It should have been 2-2 moments later as Villa pieced together a slick move but Bacuna side-footed narrowly wide.
Foster then saved well as Weimann stuck out a leg to divert a Ciaran Clark header goalwards.
Villa grabbed the equaliser when the Baggies defence was cut open when Benteke found Matt Lowton and his low cross was bundled in at the far post by Bacuna.
The momentum was then all Villa’s, and they went ahead as West Brom failed to deal with another long ball.
This time Benteke won a header and Delph skilfully took the ball around Steven Reid to smash in a shot off the underside of the bar from the edge of the area.
West Brom were sloppy at the back but they again proved they could be slick in attack as they levelled before the break.
Victor Anichebe combined with Morrison and Mulumbu went through to place a shot through Guzan’s legs.
The second half started in much the same open manner with Guzan fumbling an awkwardly bouncing Morgan Amalfitano shot behind.
Diego Lugano should have put West Brom ahead but headed inches wide when picked out unmarked at the far post by Brunt from a free-kick.
Amalfitano went down after twisting through the area but referee Mark Clattenburg gave nothing.
Instead Clattenburg pointed to the spot at the other end as Lugano wrestled Benteke to the ground.
The Belgian got up to rifle in his third goal in three games, further consigning his recent four-month barren run to the past.
Amalfitano tried to win another penalty as he tussled with Clark but Clattenburg booked him for diving.
There was yet another penalty shout as Foster slid in to dispossess Benteke but he was adjudged to have won the ball cleanly.
West Brom applied pressure in the closing stages but could not find a way through.
There were complaints from some of their players to Clattenburg, possibly over the penalty appeals, after the final whistle was blown.