Jack Harrison, Luke Ayling, Rasmus Kristensen and Rodrigo struck to clinch a rollercoaster 4-2 victory and lift them out of the Premier League’s relegation zone.
Jonny’s long-range lob and Matheus Cunha’s first goal for Wolves gave them hope before Jonny’s late red card.
Unused substitute Matheus Nunes was also dismissed in stoppage time, with Wolves furious Rodrigo’s goal was not ruled out for a foul on Adama Traore.
Exactly 12 months ago Leeds hit back from 2-0 down to win 3-2 at Molineux thanks to Ayling’s injury-time winner.
Victory was still not straightforward this time but a frenzied win in a game which threatened to swing either way leaves Leeds 14th, just a point and a place behind their hosts with a game in hand.
As much as Wolves have improved under Julen Lopetegui, home defeats to Bournemouth and now Leeds have stopped them from pulling away.
A four-point gap to the visitors has almost been wiped out in a survival battle which has captured almost half of the division and left them three points above the drop zone.
It looked bleak early for Wolves after Harrison set the tone for a madcap game when he opened the scoring just six minutes in.
Wilfried Gnonto teased Nelson Semedo, who failed to get near him, and darted into the box to cross for Harrison to smash in from 10 yards.
Harrison – whose move to Leicester was cancelled mid-medical in January – only has four goals this season but none will have been as crucial as this.
Wolves responded and wanted a penalty when Semedo went down under Junior Firpo’s challenge but Michael Salisbury and VAR official David Coote disagreed.
Leeds’ fast start had suddenly turned into a rearguard action as bodies were put on the line to deny the hosts, who forced the tempo after going behind.
Only Pedro Neto’s profligacy stopped Wolves levelling when Daniel Podence caught Ayling dozing. His shot was beaten away by Illan Meslier but Neto fluffed his lines on the follow-up.
For a while Wolves swarmed over Leeds, stifling the visitors, forcing them into mistakes and last-ditch interventions, and a leveller seemed inevitable.
Yet Lopetegui’s side only had themselves to blame. Wasting their chances when they came they let Leeds off the hook, especially Semedo.
Ruben Neves’ perfect pass was only bettered by Max Kilman’s low cross which bounced into the path of the unmarked Semedo, only for Max Wober to block his goalbound effort.
Neves drilled wide from distance and, aside from the goal, Leeds had offered precious little attacking intent. Meslier’s time-wasting infuriated Molineux but the visitors nearly grabbed a second nine minutes before the break.
A neat corner routine found the onrushing Weston McKennie and while the USA international failed to connect properly, it caused enough problems and was deflected behind.
It was enough to give Leeds some respite, with a delay to treat Harrison after a late Dawson challenge briefly shifting the momentum of a game which had become increasingly ill-tempered.
Dawson, already on a booking, was withdrawn at the break and Wolves thought they had levelled soon after.
Podence’s corner was nodded goalwards by Nathan Collins and stabbed in by Mario Lemina, only for the celebrations to be cut short by an offside flag.
If the hosts thought it would herald the start of a comeback they were mistaken and Leeds grabbed a second four minutes into the half.
It was poor defending from Wolves as the ball-watching Neves allowed Ayling to peel away and he was left criminally unmarked to nod in at the far post.
With the hosts shell-shocked, Pablo Sarabia steered wide but Leeds were in dreamland after 62 minutes.
Joao Gomes had denied Harrison a second with a smart block but it only delayed a third as Kristensen got in on the act.
The substitute had only been on for 31 seconds before he robbed Jonny, who failed to deal with Harrison’s cross, at the far post and fired through Jose Sa’s legs.
Jonny quickly – and spectacularly – pulled a goal back when he lobbed in from 40 yards with Meslier having rushed out to clear.
It gave Wolves hope and, after Meslier brilliantly saved from Cunha, the striker set up a grandstand finish when his shot from the edge of the box clipped Wober to make it 3-2 with 17 minutes left.
But Jonny was sent off after a reckless tackle on Ayling with six minutes left to end Wolves’ fightback.
Rodrigo then wrapped it up in stoppage time when he raced through to dink over Sa.
It sparked Wolves protests as Marc Roca appeared to pull Traore in the build-up with the bench incensed and Nunes, who had to be restrained, was sent off for dissent.