Leeds climbed out of the Premier League relegation zone after holding off a late Wolves fightback to win an enthralling game at Molineux.
The victory lifts Javi Gracia's side - who started the day in 19th - four places and two points above the bottom three.
Jack Harrison, who scored in last weekend's 2-2 draw at home to Brighton, side-footed Wilfried Gnonto's cut-back past Jose Sa to give the visitors an early lead after a bright start.
Leeds doubled their advantage four minutes into the second half as Luke Ayling, left completely unmarked by the Wolves defence, beat Sa with a low header from point-blank range.
More questionable defending from Jonny gifted second-half substitute Rasmus Kristensen a third, before the Wolves wing-back gave his team hope with a tremendous volleyed finish after Illan Meslier had come rushing out of his goal to make a clearance.
Matheus Cunha's deflected strike set up a nail-biting finale, but Wolves' hopes of a dramatic comeback were dealt a blow when Jonny was shown a straight red card for a reckless, studs-up challenge on Ayling with just over six minutes remaining.
Rodrigo completed the scoring deep into added time, lifting the ball over the onrushing Sa for his 11th league goal of the campaign.
Julen Lopetegui's side stay 13th but remain only three points above the relegation zone, having played at least a game more than the majority of their rivals near the foot of the table.Follow Wolves v Leeds and the rest of Saturday's Premier League actionVisit our Wolves pageMore Leeds content
Rare away success breathes life into Leeds survival bid
Leeds have shown plenty of promise in their two home games under new manager Gracia but had lost both games away from Elland Road under the 52-year-old - at Fulham in the FA Cup and Chelsea in the league - prior to Saturday.
The visitors certainly didn't start like a team with only one top-flight victory on their travels this season, taking the game to Wolves and going in front with just six minutes on the clock.
Gnonto, restored to the side in place of Crysencio Summerville, was particularly lively early on and vindicated his manager's decision with a brilliant cut-back into Harrison, who side-footed home his second goal in as many games.
The visitors had their backs to the wall for the rest of the first half as Wolves applied heavy pressure, but a combination of smart goalkeeping, last-ditch defending and wasteful finishing ensured they went into half-time with their narrow lead intact.
Second-half goals from Ayling and Kristensen - who scored moments after replacing Gnonto in the second half - gave Leeds a seemingly comfortable platform for a rare away victory, but Jonny's spectacular finish and Cunha's low effort - which took a heavy deflection off Maximilian Wober on its way in - offered Wolves an unlikely lifeline.
Ayling was fortunate to escape serious injury when Jonny caught the Leeds skipper with a high challenge after a heavy touch, but the 31-year-old was back on his feet quickly to help the visitors see out the victory.
Rodrigo's late effort was subject to a VAR review for an apparent foul by Marc Roca on Adama Traore in the build-up, but after viewing the incident on his pitchside monitor Salisbury decided to award the goal.
More to follow.
How to play
Rate players out of 10 throughout or after the game. The rater will close 30 minutes after the final whistle.
Rating range key1 = Give it up10 = Pure perfection
Squad number1Player nameJosé Sá
Squad number22Player nameNélson Semedo
Squad number15Player nameDawson
Squad number23Player nameKilman
Squad number19Player nameJonny
Squad number8Player nameRúben Neves
Squad number5Player nameLemina
Squad number35Player nameJoão Gomes
Squad number7Player namePedro Neto
Squad number9Player nameJiménez
Squad number10Player nameDaniel Podence
Squad number4Player nameCollins
Squad number12Player nameMatheus Cunha
Squad number21Player nameSarabia
Squad number28Player nameJoão Moutinho
Squad number37Player nameTraoré
Squad number1Player nameMeslier
Squad number2Player nameAyling
Squad number5Player nameKoch
Squad number39Player nameWöber
Squad number3Player nameFirpo
Squad number8Player nameRoca
Squad number28Player nameMcKennie
Squad number11Player nameHarrison
Squad number7Player nameAaronson
Squad number29Player nameGnonto
Squad number9Player nameBamford
Squad number10Player nameSummerville
Squad number19Player nameRodrigo
Squad number21Player nameStruijk
Squad number25Player nameKristensen
Formation 4-3-31Sá22Nélson SemedoBooked at 53minsSubstituted forMatheus Cunhaat 57'minutes15DawsonBooked at 37minsSubstituted forCollinsat 45'minutes23Kilman19Castro OttoBooked at 84mins8NevesSubstituted forJoão Moutinhoat 76'minutes5Lemina35João GomesBooked at 87mins7NetoSubstituted forSarabiaat 45'minutes9Jiménez10PodenceSubstituted forTraoréat 57'minutes
Substitutes4Collins12Matheus Cunha21Sarabia24Gomes25Bentley27Nunes28João Moutinho29Diego Costa37Traoré
Formation 4-2-3-11MeslierBooked at 90mins2AylingBooked at 24mins5Koch39Wöber3FirpoBooked at 45minsSubstituted forStruijkat 81'minutes8RocaBooked at 75mins28McKennieBooked at 45mins11Harrison7AaronsonSubstituted forSummervilleat 81'minutes29GnontoSubstituted forKristensenat 61'minutes9BamfordSubstituted forRodrigoat 67'minutes
Match ends, Wolverhampton Wanderers 2, Leeds United 4.
Second Half ends, Wolverhampton Wanderers 2, Leeds United 4.
Attempt missed. Pablo Sarabia (Wolverhampton Wanderers) left footed shot from outside the box is close, but misses the top left corner from a direct free kick.
Illan Meslier (Leeds United) is shown the yellow card.
João Moutinho (Wolverhampton Wanderers) wins a free kick in the attacking half.
Foul by Crysencio Summerville (Leeds United).
Corner, Wolverhampton Wanderers. Conceded by Robin Koch.
Matheus Nunes (Wolverhampton Wanderers) is shown the red card.
VAR Decision: Goal Leeds United - Wolverhampton Wanderers 2-4 Leeds United (Rodrigo).
Goal! Wolverhampton Wanderers 2, Leeds United 4. Rodrigo (Leeds United) left footed shot from the centre of the box to the bottom left corner. Assisted by Crysencio Summerville with a through ball.Goal confirmed following VAR Review.
Hand ball by Pablo Sarabia (Wolverhampton Wanderers).
Attempt saved. Raúl Jiménez (Wolverhampton Wanderers) header from a difficult angle on the left is saved in the top centre of the goal. Assisted by Adama Traoré with a cross.
Attempt missed. Matheus Cunha (Wolverhampton Wanderers) header from the centre of the box is too high. Assisted by Pablo Sarabia with a cross.
Hand ball by Rodrigo (Leeds United).
João Gomes (Wolverhampton Wanderers) is shown the yellow card for a bad foul.
Foul by João Gomes (Wolverhampton Wanderers).
Marc Roca (Leeds United) wins a free kick in the attacking half.
Delay over. They are ready to continue.
Jonny (Wolverhampton Wanderers) is shown the red card.
Delay over. They are ready to continue.
Our coverage of your Premier League club is bigger and better than ever before - here's everything you need to know to make sure you never miss a moment