Wolves captain Kevin Doyle's second-half strike caused an upset at Molineux as the Championship's second-bottom side beat second-placed Hull City.
After a dismal first half, Doyle latched onto Bjorn Sigurdarson's pass on 55 minutes to drill home the only goal of the game from 15 yards.
Jay Simpson hit the post for Steve Bruce's Hull with 15 minutes left.
But Wolves hung on for a victory that takes them back out of the relegation zone.
Wolves - who are out of the drop zone on goal difference - were also helped by
Derby's late equaliser at Barnsley,
who now slip to 23rd in the division.
Steve Bruce's promotion-chasing Hull are still six points clear of third-placed Watford,
who lost at Millwall.
The only worthwhile first-half effort of note from either side was from Hull, a deflected Stephen Quinn shot which span agonisingly wide of Wolves keeper Dorus De Vries' left-hand upright.
Wolves' only sniff at goal, a long-range drive from Tongo Doumbia which whistled just wide, was greeted with ironic applause from the home fans, but that all changed 10 minutes into the second half.
Doumbia won the ball for Sigurdarson to send Doyle into the box - and the home skipper kept his cool to clip home his eighth goal of the season.
In-form captain Doyle
The winner against Hull was Wolves captain Kevin Doyle's third goal in six games, following a barren spell stretching back to a brace on 1 December against now-relegated Bristol City.
Doumbia then fired wide after Doyle's header from Stephen Ward's cross had fallen invitingly. That miss looked like it might prove costly when, fed by Robbie Brady, Hull sub Jay Simpson got clear inside the box, only to drill his left-foot shot against Wolves' left upright.
But the home side then blew an even better chance, Sigurdarson finding the side netting when it seemed Dean Saunders' men surely had to score.
Wolves could even have won by more, in the end, but Stephen Hunt laudably stayed on his feet and only won a corner when Ahmed Elmohamady's challenge could so easily have won him a penalty - and makeshift striker Roger Johnson then headed tamely over from Doyle's cross.
On a night when Wolves keeper De Vries did not have to make a save, after shipping three goals to relegation rivals Huddersfield on the same pitch on Saturday, Saunders' side managed only their second clean sheet in 11 games - to move clear of the bottom three, although only on goal difference.
Wolves manager Dean Saunders told BBC Sport:
"I'm really proud of the lads tonight after Saturday's kick in the teeth in losing at home to Huddersfield.
"They went out and did the job I asked them to do by keeping the ball off Hull.
"And we limited them to very few chances and kept a clean sheet. In fact, I don't think our keeper had a save to make.
"It's in our own hands now. If we win our last three games, then we stay up, it's as simple as that."
Hull City boss Steve Bruce told BBC Sport:
"It must be in the DNA of this club to not make it easy for ourselves. There is no way we deserved to get beat tonight. We've made one mistake when Ahmed Fathi got caught in possession and got punished.
"But it's still in our hands. Although you want to concentrate on winning your own games, hearing the result from Millwall did make me feel better.
"And to be in this position is still a wonderful opportunity and a wonderful achievement. We just need to stay calm.
"We've got three games to go and we need four points. We've got Bristol City at home on Friday night, then Barnsley away. And we know we're capable."
- 31 De Vries
- 11 Ward (Foley - 78' )
- 14 Johnson
- 20 Robinson
- 21 Gorkss
- 30 Doherty
- 08 Henry Booked
- 12 Hunt
- 28 Doumbia
- 15 Sigurdarson (Batth - 89' )
- 29 Doyle
- 36 McCarey
- 25 Batth
- 32 Foley
- 19 Hammill
- 23 Dicko
- 35 Cassidy
- 49 McAlinden
- 34 Stockdale
- 05 Chester
- 06 Hobbs
- 17 Fathi Booked (Proschwitz - 88' )
- 10 Koren (Simpson - 27' )
- 23 Faye (Fryatt - 73' )
- 27 Elmohamady
- 29 Quinn
- 31 Meyler
- 30 Brady Booked
- 37 Boyd Booked
- 01 Jakupovic
- 02 Rosenior
- 15 McShane
- 14 Cairney
- 11 Simpson
- 12 Fryatt
- 33 Proschwitz