Robbie Keane's superb double punished struggling Wolves in a gripping match.
Darren Bent won and scored a penalty to put Villa ahead, before Michael Kightly equalised with a well-placed shot.
Wolves went ahead after Roger Johnson flicked on a corner and David Edwards headed past Shay Given, before Keane's second-half volley made it 2-2.
Karl Henry was sent off for kicking Marc Albrighton - who was on the ground - in the midriff, with Keane hammering in a stupendous shot for the winner.
It was quite a return to the ground where Keane, who has recently joined Villa on loan from LA Galaxy, started his professional career 15 years ago and the Republic of Ireland striker might have had a hat-trick after shooting narrowly wide following his second goal.
DID YOU KNOW?
- Darren Bent's penalty was the Villa forward's 99th Premier League goal
- Wolves have now gone eight league games without a win
For Wolves it was a case of what if, given the way Christophe Berra clumsily fouled Bent to give away the penalty and Henry's ill-discipline.
After the interval Mick McCarthy's side were never able to replicate a first-half purple patch that brought their two goals, partly through the introduction of Stephen Warnock at left-back, which lessened Kightly's influence, and also when Emmanuel Frimpong was carried off on a stretcher.
Referee Michael Oliver had to play an eight extra minutes after the on-loan Arsenal midfielder needed prolonged treatment when he was caught in the face by Stiliyan Petrov's boot as Frimpong attempted a diving header following a corner.
The game's pulsating tone was set in the opening minute when Gary Gardner should have put Villa ahead, only to head narrowly wide.
Having survived that scare, Wolves provided a huge, helping hand for Villa's first goal.
Dawdling on the ball, Berra was dispossessed by Bent and, in trying to recover, the Wolves defender hacked down the Villa forward, who got up to convert the spot-kick.
Soon after Edwards claimed a penalty as he went down after a challenge from James Collins, while Fletcher turned quickly to test Shay Given with a low shot.
Wolves' revival was emboldened by the power and drive of Frimpong in midfield and the wing play of Kightly and Matt Jarvis.
It was Frimpong and Kightly who combined for Wolves' equaliser, with the on-loan midfielder flicking the ball over his head to escape his markers before quickly passing the ball to the Wolves winger.
Kightly cleverly cut inside Ciaran Clark before guiding a curling shot past a posse of Villa defenders and Given's outstretched hand.
The Villa goalkeeper had better luck in gathering an Edwards shot, though the Wolves midfielder might have done better from a good position.
It mattered not though as a Kightly corner was flicked on by Roger Johnson and Edwards was on hand to head past Given.
Keane had been virtually unseen before his first goal but the elegance of his finish more than made up for that earlier anonymity.
There seemed little danger when Clark cushioned the ball down to Keane but the Republic of Ireland forward swivelled and unleashed a dipping shot that completely surprised Wayne Hennessey.
Keane somehow managed to better that strike with six minutes remaining when, with the minimum of backlift, he struck an unstoppable shot into the roof of the net.
- 01 Hennessey
- 11 Ward
- 14 Johnson
- 16 Berra
- 32 Foley (Ebanks-Blake - 90' )
- 04 Edwards (Stearman - 82' )
- 07 Kightly Booked
- 08 Henry Dismissed
- 15 Frimpong (Milijas - 56' )
- 17 Jarvis
- 10 Fletcher
- 31 De Vries
- 03 Elokobi
- 05 Stearman
- 12 Hunt
- 20 Milijas
- 09 Ebanks-Blake
- 29 Doyle
- 01 Given
- 02 Hutton
- 05 Dunne
- 06 Collins
- 21 Clark
- 12 Albrighton
- 19 Petrov
- 38 Gardner (Bannan - 87' )
- 09 Bent
- 11 Agbonlahor (Warnock - 46' )
- 20 Keane (Weimann - 90' )
- 22 Guzan
- 03 Warnock
- 24 Cuellar
- 32 Baker
- 25 Bannan
- 14 Delfouneso
- 26 Weimann
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +6:38
Outswinging corner taken left-footed by Nenad Milijas from the left by-line, James Collins makes a clearance.90:00 +6:05
Effort from the edge of the area by Andreas Weimann goes wide of the right-hand upright.90:00 +5:24
Andreas Weimann sends in a cross, save by Wayne Hennessey.90:00 +4:23
Ciaran Clark fouled by Christophe Berra, the ref awards a free kick. Indirect free kick taken by Shay Given.90:00 +4:07
The ball is swung over by Matthew Jarvis, James Collins makes a clearance.90:00 +3:12
The ball is crossed by Stephen Warnock, Richard Stearman makes a clearance.90:00 +1:33
Foul by Andreas Weimann on Nenad Milijas, free kick awarded. Wayne Hennessey takes the indirect free kick.89:09 Substitution
Substitution Andreas Weimann comes on in place of Robbie Keane.89:09 Substitution
Substitution Sylvan Ebanks-Blake is brought on as a substitute for Kevin Foley.88:58
Robbie Keane has an effort at goal from long range that misses to the right of the goal.87:14
Nenad Milijas takes a shot. James Collins gets a block in.86:11
Free kick taken by Stephen Warnock.86:11 Substitution
Substitution Barry Bannan joins the action as a substitute, replacing Gary Gardner.86:11 Booking
Booking Michael Kightly shown a yellow card.86:06
Foul by Michael Kightly on Marc Albrighton, free kick awarded.84:00
Corner taken left-footed by Matthew Jarvis from the left by-line, James Collins makes a clearance. The assist for the goal came from Alan Hutton.84:00 Goal scored
Goal! - Robbie Keane - Wolves 2 - 3 A Villa Goal scored by Robbie Keane from 30 yards to the top left corner of the goal. Wolverhampton 2-3 Aston Villa.83:12
Centre by Stephen Ward, clearance by James Collins.82:27
The assistant referee signals for offside against Darren Bent. Wayne Hennessey takes the free kick.
Indirect free kick taken by Kevin Foley.81:02 Substitution
Substitution Richard Stearman on for David Edwards.81:02
Richard Dunne challenges Steven Fletcher unfairly and gives away a free kick.80:45
The ball is crossed by Alan Hutton, Kevin Foley makes a clearance.79:25
The ball is swung over by Marc Albrighton.78:56
Marc Albrighton takes a short corner.77:44
Marc Albrighton sends in a cross.74:26
Richard Dunne takes the indirect free kick.74:26 Dismissal
Dismissal Karl Henry is sent off by the referee for violent conduct.74:26
Marc Albrighton fouled by Karl Henry, the ref awards a free kick.73:22
Marc Albrighton gives away a free kick for an unfair challenge on Karl Henry. Karl Henry takes the free kick.72:08
Matthew Jarvis produces a cross, Headed effort from deep inside the area by Michael Kightly misses to the right of the target.69:57
Unfair challenge on Ciaran Clark by Karl Henry results in a free kick. Indirect free kick taken by James Collins.69:38
Free kick awarded for an unfair challenge on Matthew Jarvis by Alan Hutton. Stephen Ward restarts play with the free kick.68:24
Effort on goal by Marc Albrighton from long range goes over the bar.68:04
The ball is delivered by Matthew Jarvis, clearance by James Collins.66:54
Karl Henry concedes a free kick for a foul on Ciaran Clark. Stiliyan Petrov takes the indirect free kick.65:53
Outswinging corner taken from the left by-line by Matthew Jarvis.64:07
The ball is swung over by Nenad Milijas, Richard Dunne manages to make a clearance.64:07 Substitution
Substitution Nenad Milijas is brought on as a substitute for Emmanuel Frimpong.64:07
Handball by Marc Albrighton.62:11
Centre by Matthew Jarvis, Richard Dunne manages to make a clearance.61:37
Matthew Jarvis delivers the ball, clearance made by James Collins.52:02
Corner from the right by-line taken by Michael Kightly, Emmanuel Frimpong has a headed effort at goal from close range which goes wide of the left-hand upright.50:46
Ciaran Clark provided the assist for the goal.50:46 Goal scored
Goal! - Robbie Keane - Wolves 2 - 2 A Villa A goal is scored by Robbie Keane from outside the penalty area to the bottom left corner of the goal. Wolverhampton 2-2 Aston Villa.47:52
Darren Bent takes a shot. Wayne Hennessey makes a save.47:05
Stephen Ward sends in a cross, clearance by Shay Given.45:59
Matthew Jarvis gives away a free kick for an unfair challenge on Alan Hutton. James Collins restarts play with the free kick.45:01
The second half has started.45:01 Substitution
Substitution Stephen Warnock replaces Gabriel Agbonlahor.45:00 +1:14 Half time
Half Time It is the end of the first-half.44:13
Gabriel Agbonlahor sends in a cross, Roger Johnson makes a clearance.40:56
Effort on goal by Matthew Jarvis from just inside the penalty area goes over the target.40:24
The ball is swung over by Marc Albrighton.40:05
A cross is delivered by Michael Kightly, comfortable save by Shay Given.39:03
Marc Albrighton sends in a cross, clearance by Christophe Berra.37:27
Gary Gardner fouled by Karl Henry, the ref awards a free kick. Gary Gardner produces a shot on goal direct from the free kick.36:50
Free kick awarded for an unfair challenge on Christophe Berra by Darren Bent. Free kick taken by Christophe Berra.35:32
Ciaran Clark produces a cross, Gabriel Agbonlahor produces a header from inside the area that goes over the crossbar.35:00
Emmanuel Frimpong takes a shot. Blocked by James Collins.34:10
Free kick awarded for an unfair challenge on Emmanuel Frimpong by Marc Albrighton. Emmanuel Frimpong takes the free kick.32:00 +1:11
Roger Johnson takes a shot. Blocked by David Edwards.30:42
Assist by Roger Johnson.30:42 Goal scored
Goal! - David Edwards - Wolves 2 - 1 A Villa David Edwards scores a headed goal from close in. Wolverhampton 2-1 Aston Villa.29:24
Steven Fletcher takes a shot. Shay Given makes a save. Corner from the right by-line taken by Michael Kightly,28:32
David Edwards takes a shot. Shay Given makes a save.24:38
Michael Kightly delivers the ball, Richard Dunne makes a clearance. Michael Kightly takes a outswinging corner from the right by-line to the near post. Emmanuel Frimpong takes a shot. Michael Kightly takes a inswinging corner. Inswinging corner taken from the right by-line by Michael Kightly. Karl Henry takes a shot. James Collins gets a block in. Blocked by James Collins.22:34
A cross is delivered by Michael Kightly, Richard Dunne manages to make a clearance. Corner taken right-footed by Michael Kightly from the right by-line to the near post, clearance by Richard Dunne. A cross is delivered by Marc Albrighton.20:39
The assist for the goal came from Emmanuel Frimpong.20:39 Goal scored
Goal! - Michael Kightly - Wolves 1 - 1 A Villa Michael Kightly scores a goal from inside the penalty area to the bottom left corner of the goal. Wolverhampton 1-1 Aston Villa.19:28
Michael Kightly fouled by Richard Dunne, the ref awards a free kick. Direct free kick taken by Kevin Foley.16:40
Robbie Keane produces a volleyed right-footed shot from 20 yards. Roger Johnson gets a block in. Short corner taken by Matthew Jarvis from the left by-line.15:11
Gary Gardner takes a shot. Short corner taken by Marc Albrighton. The ball is delivered by Marc Albrighton, clearance by Stephen Ward. The ball is crossed by Stiliyan Petrov, Christophe Berra makes a clearance.14:39
Corner taken right-footed by Marc Albrighton from the right by-line, Emmanuel Frimpong makes a clearance.14:21
Centre by Ciaran Clark, clearance by Roger Johnson.12:41
Michael Kightly fouled by Gabriel Agbonlahor, the ref awards a free kick. Free kick taken by Emmanuel Frimpong.11:33
David Edwards gives away a free kick for an unfair challenge on Gary Gardner. Free kick taken by James Collins.10:11 Goal scored
Goal! - Darren Bent - Wolves 0 - 1 A Villa Placed penalty scored by Darren Bent. Wolverhampton 0-1 Aston Villa.9:21
Penalty awarded for a foul by Christophe Berra on Darren Bent.7:10
Kevin Foley challenges Gabriel Agbonlahor unfairly and gives away a free kick. Stiliyan Petrov delivers the ball from the free kick right-footed from left wing, save made by Shay Given.6:24
The ball is crossed by Marc Albrighton.5:49
Steven Fletcher takes a shot. Save made by Shay Given.2:57
Inswinging corner taken from the right by-line by Michael Kightly. Inswinging corner taken right-footed by Michael Kightly played to the near post, clearance by Richard Dunne.2:52
The ball is sent over by Michael Kightly, blocked by Ciaran Clark.1:33
The ball is sent over by Alan Hutton, Roger Johnson manages to make a clearance.0:42
Ciaran Clark produces a cross, Headed effort from deep inside the area by Gary Gardner misses to the right of the target.0:09
Matthew Jarvis gives away a free kick for an unfair challenge on Stiliyan Petrov. Direct free kick taken by Stiliyan Petrov.0:00
The match begins.
Live data and text provided by our data suppliers