Wolves scored three first-half goals to beat Championship rivals Birmingham and boost their chances of avoiding a second successive relegation.
Stephen Hunt turned in Wolves' opener before Sylvan Ebanks-Blake doubled their lead with a close-range header.
Ebanks-Blake stroked in a third from the penalty spot.
Birmingham's Wade Elliott netted twice in the second half, scoring a penalty and then finishing a rebound from another spot-kick but Wolves held on.
The victory takes Wolves four places, but only one point, clear of the bottom three, while Birmingham are now eight points adrift of a play-off place.
Elliott grabbed the Blues' first goal from the penalty spot after Wolves midfielder Jamie O'Hara needlessly shoved Wes Thomas. Elliott had another penalty late on and scored the rebound after Dorus de Vries had saved his first effort.
Wolves hit form
Wolves have taken 12 points from their last five games. It took them 15 games, dating back to the 1-0 win over Birmingham on 8 December, to amass their previous 11.
But it was too late to salvage a point as Dean Saunders's team continued their recent revival with their fourth win in five league matches.
Victory also meant Wolves registered a first double over their West Midlands rivals in 14 years, having won the reverse fixture in December through Marlon King's own goal.
The hosts' Nathan Redmond had tested Dorus de Vries with a well-struck effort in a quiet opening period, before Hunt reacted quickest to slide home from a tight angle after Jack Butland had parried David Davis's shot.
Nikola Zigic shot over the top as the Blues searched for a response and the Serbian was made to regret his wastefulness as Davis picked out an unmarked Ebanks-Blake at the back post, who made it 2-0.
Shane Ferguson clipped the post for the hosts, but another defensive mistake from Birmingham left them perhaps fortunate not to find themselves chasing a 3-0 scoreline with only 10 men.
Goalkeeper Butland's foul on Kevin Doyle was a clear penalty and could have been judged a red card, but Butland remained on the pitch.
His next job was to pick the ball out of the net as Ebanks-Blake converted from 12 yards, although Birmingham pulled a goal back through Elliott's spot-kick ten minutes after half-time.
Thomas, who had been felled for the penalty, came close with a header that clipped the post in the 76th minute before dragging two chances narrowly wide from good positions.
Jack Robinson's handball gave Birmingham another penalty and Elliott stabbed in his second goal after de Vries had blocked his spot-kick but it came too late for the hosts.
Birmingham manager Lee Clark:
"Quite simply, without the ball in the first half we were rubbish, with it we were decent.
"With it in the second half we were decent again and without it we were good, but in the first half we were woeful.
"Three or four players weren't at it and you can't have that. With the ball, you can have three or four players maybe not having a great day but without it, you have to have 11 putting a shift in.
"I think we got a little bit caught up and excited about what happened on Friday, thinking we could just turn up and play our football, forgetting you've got to win the battles.
"It's a very frustrating day for us when you think if we'd got three points we could have gone eighth in the table."
Wolves manager Dean Saunders:
"It's a massive win. I've got to credit the players, they've had a torrid time the last couple of years and we're turning it around now.
"I just think it's absolutely ridiculous that we've had to play Saturday-Monday, it's just ridiculous. Some of the teams are playing Friday-Tuesday.
"I'm interested in the team, really. We weren't recovered. It's got to be looked at because it was a definite disadvantage for us today."
- 01 Butland Booked
- 06 Davies
- 27 Hancox (Arthur - 78' )
- 28 Caddis
- 30 Robinson
- 32 Ferguson
- 12 Morrison
- 15 Elliott Booked
- 22 Redmond (Lovenkrands - 82' )
- 19 Zigic
- 20 Thomas
- 13 Doyle
- 04 Caldwell
- 08 Mullins
- 10 Ambrose
- 16 Arthur
- 33 Reilly
- 11 Lovenkrands
- 31 De Vries
- 14 Johnson Booked
- 20 Robinson Booked
- 21 Gorkss
- 30 Doherty
- 12 Hunt (Batth - 86' )
- 24 O'Hara Booked (Henry - 57' )
- 26 Davis Booked
- 09 Ebanks-Blake (Dicko - 64' )
- 15 Sigurdarson
- 29 Doyle
- 36 McCarey
- 11 Ward
- 25 Batth
- 08 Henry
- 19 Hammill
- 28 Doumbia
- 23 Dicko
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +6:29
Free kick awarded for a foul by Matt Doherty on Koby Arthur. Wade Elliott delivers the ball from the free kick right-footed from left wing, clearance made by Roger Johnson.90:00 +5:42 Goal scored
Goal! - Wade Elliott - Birmingham 2 - 3 Wolves Wade Elliott finds the back of the net with a goal from inside the penalty area to the bottom right corner of the goal. Birmingham 2-3 Wolverhampton.90:00 +5:25 Penalty
Penalty taken by Wade Elliott saved by Dorus De Vries. Birmingham 1-3 Wolverhampton.90:00 +4:38
Jack Robinson is adjudged to have handled the ball.90:00 +3:37
The offside flag is raised against Karl Henry. Jack Butland takes the indirect free kick.90:00 +3:20
The ball is sent over by Paul Robinson.90:00 +2:56
Paul Caddis crosses the ball.90:00 +0:56
Free kick awarded for a foul by Nouha Dicko on Paul Caddis. Free kick taken by Curtis Davies.88:15
Nouha Dicko fouled by Paul Caddis, the ref awards a free kick. Jack Robinson takes the direct free kick.86:59
Close range effort by Wes Thomas goes wide of the right-hand upright.84:42 Substitution
Substitution Danny Batth comes on in place of Stephen Hunt.84:42
Unfair challenge on Wes Thomas by Kaspars Gorkss results in a free kick. Shane Ferguson produces a strike on goal direct from the free kick.83:35
Centre by Shane Ferguson, Jack Robinson makes a clearance.83:05
The ball is crossed by Peter Lovenkrands, Roger Johnson manages to make a clearance. Inswinging corner taken left-footed by Shane Ferguson from the right by-line to the near post, Matt Doherty manages to make a clearance.81:14 Substitution
Substitution Peter Lovenkrands joins the action as a substitute, replacing Nathan Redmond.81:14
Effort from deep inside the area by Nathan Redmond clears the bar.80:19
Foul by Stephen Hunt on Paul Caddis, free kick awarded. Jack Butland takes the direct free kick.79:41
Jack Robinson fouled by Nathan Redmond, the ref awards a free kick. Kaspars Gorkss takes the direct free kick.78:30
Effort from inside the area by Wes Thomas misses to the left of the goal.
Substitution Mitch Hancox goes off and Koby Arthur comes on.76:22
Shane Ferguson crosses the ball, Header on goal by Wes Thomas from inside the box goes harmlessly over the target.75:14
The ball is swung over by Mitch Hancox, Header from inside the area by Wes Thomas strikes the post.74:32
A cross is delivered by Mitch Hancox, clearance made by Roger Johnson.72:47
The assistant referee flags for offside against Nouha Dicko. Jack Butland takes the indirect free kick.71:35
Nikola Zigic challenges Matt Doherty unfairly and gives away a free kick. Dorus De Vries takes the direct free kick.69:51
Stephen Hunt sends in a cross, Mitch Hancox manages to make a clearance. Outswinging corner taken left-footed by Stephen Hunt from the left by-line, save by Jack Butland.69:13
Nouha Dicko gives away a free kick for an unfair challenge on Mitch Hancox. Free kick crossed by Wade Elliott, Bjorn Sigurdarson manages to make a clearance.68:52
The ball is sent over by Shane Ferguson, clearance by Roger Johnson.67:51
The referee blows for offside. Free kick taken by Dorus De Vries.66:30
Effort from a long way out by Bjorn Sigurdarson goes wide right of the target.65:26
Unfair challenge on Roger Johnson by Nikola Zigic results in a free kick. Direct free kick taken by Dorus De Vries.65:04
The ball is crossed by Stephen Hunt.64:26
Stephen Hunt produces a cross, Mitch Hancox makes a clearance.63:20 Substitution
Substitution Nouha Dicko replaces Sylvan Ebanks-Blake.60:17
Ravel Morrison takes a shot. Dorus De Vries makes a comfortable save.59:25
Foul by Wade Elliott on Stephen Hunt, free kick awarded. Stephen Hunt takes the direct free kick.58:20
Corner taken left-footed by Shane Ferguson from the right by-line to the near post, Kevin Doyle makes a clearance.56:29
Indirect free kick taken by Jack Butland.56:29 Substitution
Substitution Karl Henry on for Jamie O'Hara.56:29
Roger Johnson is ruled offside.54:12
Assist by Wes Thomas.54:12 Goal scored
Goal! - Wade Elliott - Birmingham 1 - 3 Wolves Penalty taken right-footed by Wade Elliott and scored. Birmingham 1-3 Wolverhampton.51:58
Ravel Morrison has an effort at goal from deep inside the area striking the post. Jamie O'Hara gives away a Penalty for an unfair challenge on Wes Thomas.50:51
Free kick crossed left-footed by Shane Ferguson from right wing, Stephen Hunt manages to make a clearance.50:51 Booking
Booking Jack Robinson is booked.50:43
Foul by Jack Robinson on Wes Thomas, free kick awarded.48:59
Wade Elliott crosses the ball from the free kick right-footed from right channel, Dorus De Vries makes a save.48:59 Booking
Booking The referee shows David Davis a yellow card for unsporting behaviour.48:56
David Davis challenges Nathan Redmond unfairly and gives away a free kick.47:29
Curtis Davies gives away a free kick for an unfair challenge on Kevin Doyle. Jamie O'Hara takes the direct free kick.45:30
Wes Thomas crosses the ball.45:01
The referee gets the second half started.45:00 +2:45 Half time
Half Time The players leave the pitch at half time.45:00 +2:02
Wade Elliott crosses the ball.45:00 +0:19
Wade Elliott crosses the ball from the free kick right-footed from right channel.45:00 +0:19 Booking
Booking Roger Johnson shown a yellow card.45:00 +0:13
Roger Johnson concedes a free kick for a foul on Wes Thomas.43:54
The referee blows for offside. Jack Butland takes the free kick.42:29 Booking
Booking The referee books Wade Elliott for unsporting behaviour.42:06
David Davis produces a left-footed shot from just outside the box that goes wide right of the goal.38:53
Kevin Doyle concedes a free kick for a foul on Paul Robinson. Indirect free kick taken by Jack Butland.37:42
Paul Caddis fouled by Stephen Hunt, the ref awards a free kick. Free kick taken by Jack Butland.36:40
Assist by Kevin Doyle.36:40 Goal scored
Goal! - Sylvan Ebanks-Blake - Birmingham 0 - 3 Wolves Sylvan Ebanks-Blake scores a placed penalty. Birmingham 0-3 Wolverhampton.35:47 Booking
Booking Jack Butland is shown a yellow card.35:33
Unfair challenge on Kevin Doyle by Jack Butland results in a Penalty.34:34
The official flags Stephen Hunt offside. Jack Butland takes the free kick.33:09
Mitch Hancox gives away a free kick for an unfair challenge on Kevin Doyle. Direct free kick taken by Jamie O'Hara.31:00
Unfair challenge on Wade Elliott by David Davis results in a free kick. Direct free kick taken by Curtis Davies.28:49
Direct strike on goal from the free kick comes in from Shane Ferguson.28:49 Booking
Booking The referee shows Jamie O'Hara a yellow card for unsporting behaviour.28:38
Free kick awarded for an unfair challenge on Ravel Morrison by Jamie O'Hara.28:30
The ball is sent over by Mitch Hancox.28:02
Corner taken by Shane Ferguson from the right by-line, save by Dorus De Vries.26:17
Matt Doherty provided the assist for the goal.26:17 Goal scored
Goal! - Sylvan Ebanks-Blake - Birmingham 0 - 2 Wolves Sylvan Ebanks-Blake grabs a headed goal from close in. Birmingham 0-2 Wolverhampton.26:12
The ball is sent over by Matt Doherty,24:51
Sylvan Ebanks-Blake is caught offside. Jack Butland takes the indirect free kick.24:10
The assistant referee signals for offside against Wes Thomas. Dorus De Vries restarts play with the free kick.22:57
Effort on goal by Nikola Zigic from inside the area goes harmlessly over the bar.21:26
Mitch Hancox takes a shot from long distance which goes wide of the right-hand upright.20:48
The offside flag is raised against Sylvan Ebanks-Blake. Free kick taken by Paul Robinson.19:26 Goal scored
Goal! - Stephen Hunt - Birmingham 0 - 1 Wolves Stephen Hunt finds the net with a goal from inside the six-yard box to the bottom left corner of the goal. Birmingham 0-1 Wolverhampton.18:06
Corner taken by Shane Ferguson, save by Dorus De Vries.16:54
The referee gives a free kick against Kevin Doyle for handball. Indirect free kick taken by Jack Butland.15:51
The referee blows for offside. Indirect free kick taken by Dorus De Vries.14:42
Corner taken left-footed by Jamie O'Hara from the left by-line, clearance by Curtis Davies. Stephen Hunt takes the inswinging corner, Paul Robinson makes a clearance.14:09
Free kick awarded for an unfair challenge on Stephen Hunt by Nikola Zigic. Jamie O'Hara takes the direct free kick.12:50
Jamie O'Hara fouled by Paul Robinson, the ref awards a free kick. Direct free kick taken by Dorus De Vries.11:48
Nikola Zigic fouled by Jack Robinson, the ref awards a free kick. Jack Butland restarts play with the free kick.10:23
Mitch Hancox sends in a cross, save by Dorus De Vries.10:05
Curtis Davies sends in a cross, Matt Doherty makes a clearance.9:25
Paul Caddis produces a cross, Roger Johnson manages to make a clearance.8:41
Free kick awarded for an unfair challenge on Wade Elliott by Stephen Hunt. Free kick taken by Jack Butland.7:29
Sylvan Ebanks-Blake gives away a free kick for an unfair challenge on Curtis Davies. Jack Butland takes the direct free kick.6:56
Sylvan Ebanks-Blake takes a shot. Jack Butland makes a save.5:56
The ball is swung over by Kevin Doyle, clearance by Paul Caddis. Corner taken by Stephen Hunt from the left by-line to the near post, clearance by Wade Elliott. Stephen Hunt takes the outswinging corner, clearance by Nikola Zigic.4:39
Nathan Redmond takes a shot. Brilliant save by Dorus De Vries.3:21
Sylvan Ebanks-Blake is flagged offside by the assistant referee. Jack Butland restarts play with the free kick.2:57
The ball is swung over by Shane Ferguson, save by Dorus De Vries.1:45
A cross is delivered by Mitch Hancox, clearance by David Davis. Inswinging corner taken right-footed by Wade Elliott played to the near post, clearance made by Kevin Doyle.0:17
Free kick awarded for a foul by Stephen Hunt on Nathan Redmond. Free kick taken by Paul Caddis.0:00
The match gets underway.
Live data and text provided by our data suppliers