A pair of spectacular strikes from Henri Lansbury helped Nottingham Forest to a fifth consecutive victory – and into the play-off places in the Championship.
Lansbury struck twice from the edge of the box, either side of half time, to put Forest in control, before Wolves saw Stephen Ward sent off and substitute Lewis McGugan add a third for the Reds late on.
Matt Doherty had headed Wolves level in the 65th minute to cancel out Lansbury's first goal. But the midfielder struck again in the 67th minute to restore Forest's advantage.
And, after Ward had been dismissed for bringing down Greg Halford when he would have been clear on goal, McGugan sent a curling shot in off the underside of the bar to seal a 3-1 win.
With Brighton losing at Bolton, it saw Billy Davies' side climb up into the top six for only the second time this season.
Some calm defensive play at the back from Gonzalo Jara was followed by a surging run from the full back, who advanced with purpose down the flank, before delivering an early cross towards the far post, where Simon Cox was almost able to apply the vital touch.
For the third game in succession, Forest named the same starting line-up and that was perhaps a factor as they quickly settled into their stride, with Henri Lansbury seeing a powerful effort charged down on the periphery of the box.
Stephen Ward, the Wolves left back who Forest had unsuccessfully bid for in January, carved out the first chance for the visitors, as he crossed for Bjorn Sigurdarson to connect with a header, but his effort lacked the power to really trouble Karl Darlow.
Ward was exposed when Andy Reid skipped beyond him and into the Wolves box, with the winger then firing the ball across to the far post, where Cox slotted the ball home – but only after straying into an offside position.
Radi Majewski carved out the room for a shooting chance after cutting in from the left flank, but Wolves keeper Carl Ikeme looked confident enough as he watched the ball fly into the side netting.
Adlene Guedioura had scored a stunning long-range strike when the two sides met at Molineux, but his aim was not quite as precise as he sent a 30-yard shot high into the stand against his former club in the 19th minute.
A skilful turn and shot from Lansbury almost carved out a goal for the home side, with only a deflection steering his driven effort over the bar.
Wolves found themselves with the best chance of the game so far, in the 27th minute, when Sylvan Ebanks-Blake knocked the ball down for Dave Edwards but, with the goal at his mercy, the midfielder fired well wide of the target.
But it was Forest who were to take the lead, through a brilliantly worked goal that began with a flowing move down the left. Majewski, Cohen and Cox were all involved, before the ball was fed to Guedioura. The Algerian drew three defenders on the edge of the box, before squaring for Lansbury, who subsequently had the room to sweep a low shot across goal and into the bottom corner of the net.
The goal came in the 31st minute and, within four minutes, Forest were forced into a change, with Blackstock having to be replaced by Lewis McGugan, with Majewski pushed into attack alongside Cox.
The slightest of touches from Darlow seemed to deny Wolves an equaliser, as Bakary Sako struck a superb 25-yard free kick that the keeper looked to get a hand to, to help steer it onto the bar. Even then Wolves might have scored, but Sigurdarson fired badly over from the rebound.
The second half began with Guedioura taking a blow in denying Ebanks-Blake a shooting chance inside the box, but the midfielder was able to continue after taking a short time to recover.
The Wolves striker did manage to get a shot away in the 57th minute, after battering his way into the box through a challenge from Jara, but it was hit as Ebanks-Blake was off balance and was always flying wide.
There were a flurry of changes around the hour mark, with both sides making changes to their midfield. Wolves replaced both their central figures, Jamie O'Hara and Karl Henry, with David Davis and Tongo Doumbia respectively.
While Guy Moussi replaced Majewski and slotted in alongside Guedioura as one of two defensive midfielders in front of the back four, with Lansbury, Reid and McGugan playing off lone striker Cox.
But it was Wolves who were to claw themselves level, as young defender Matt Doherty rose highest towards the far post to head home a corner from Sako, sending a looping effort over Darlow, who did seem to get a hand to the ball, but not enough to prevent it from dropping into the net.
That goal came in the 65th minute. But it took less than two minutes for Forest to take the lead again – with Lansbury again the integral figure.
The midfielder picked up the ball on the edge of the box, on the left side, looked up and then dispatched an unstoppable, low bending shot beyond the keeper and inside the far post.
By the 76th minute both sides had made all their changes, with Kevin Doyle having replaced Sigurdarson and Greg Halford replacing Reid for Forest, with the versatile substitute adding height to Forest's front-line.
Collins had to produce a vital, diving header at the near post following a fine cross from Sako from the left – and the skipper headed clear the resulting Sako corner, to spark a decisive quick break.
Halford carried the ball swiftly into the opposition half and, after knocking the ball beyond last man Ward, found himself hauled down by the Wolves defender – who was immediately shown the red card.
McGugan almost rubbed salt in the wound as he hit a thunderous free kick, which keeper Ikeme pushed away superbly, diving low to his right.
But McGugan was not to be denied a goal, lashing in a superb shot, off the underside of the bar, in the 90th minute, following a twisting run from Jara.
Forest: Darlow, Jara, Ward, Collins, Cohen, Guedioura, Lansbury, Majewski (Moussi 63), Reid (Halford 76), Cox, Blackstock (McGugan 35). Subs: Evtimov, Hutchinson, Greening, Sharp.
Wolves: Ikeme, Edwards, Henry (Davis 62), Ebanks-Blake, Sako, Ward, Johnson, Sigurdarson (Doyle 68), Gorkss, O'Hara (Doumbia 62), Doherty. Subs: Hunt, Robinson, Batth, De Vries.
Referee: Michael Naylor, South Yorkshire
Attendance: 23,350 (2,267 away)