Ruben Neves’ deflected free-kick snatched a 3-2 victory in injury time to settle a remarkable game which saw the visitors hit back from 2-0 down.
Romain Saiss and Conor Coady levelled for Bruno Lage’s side after Danny Ings and John McGinn had put Villa in control.
But the hosts imploded after Saiss pulled a goal back with 10 minutes left and could not cope as Wolves earned their fourth win in five games.
Victory lifted Wolves to eighth in the Premier League, moving them above Villa who sit 12th.
The game was open from the start and Tyrone Mings blocked from Hwang Hee-chan after a wretched free-kick from Axel Tuanzebe.
McGinn’s excellent 25-yard effort dropped half a yard wide after 14 minutes but Villa were well restricted by Wolves in the early stages.
Lage’s side were more controlled with the ball, even if they had failed to test Emi Martinez – a late arrival after international duty with Argentina.
But Villa began to wrestle control with Emi Buendia guiding a Matty Cash cross wide before the record signing provided a fine opening for Ings after 27 minutes.
The midfielder slipped in Ings who raced into the area but Jose Sa produced an excellent one-handed stop to turn the shot wide.
Rather than spur Villa on, it woke Wolves up and, four minutes later, Adama Traore should have put them ahead.
He launched a 45-yard run where he skipped past four trailing Villa challenges to leave just Martinez to beat, only to shoot straight at the goalkeeper.
The winger had 48 successful dribbles this season – a league high – going into the game but the finish summed up his lack of end product with the ex-Villa man still waiting for a goal or assist this term.
Saiss and Coady missed Neves’ tempting cross but Villa ended the half on top with Cash firing over.
However, it did not take long for Villa to open the scoring in the second half.
McGinn rolled Saiss on the right and his pinpoint cross was headed into the corner by the onrushing Ings to give the hosts a 48th-minute lead.
McGinn then struck himself after 68 minutes to cap an excellent individual display.
Ollie Watkins seized on a terrible pass from Hwang and his drive was blocked by Coady. The ball rolled for McGinn 20 yards out and his first-time strike struck Neves to arrow into the corner.
Wolves refused to go quietly though and Saiss pulled a goal back with 10 minutes left, finishing from close range from Daniel Podence’s cross.
It set up a grandstand finish and the visitors bundled in the leveller five minutes later.
Max Kilman hit the bar but Villa failed to clear and, eventually, Leander Dendoncker’s cross was turned in by Coady.
They were still not finished and, when Traore was brought down 25 yards out, Neves’ free-kick hit Matt Targett to wrong-foot Martinez and complete a crazy finale.