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