Match ends, Wolverhampton Wanderers 1, Preston North End 2.
Wolverhampton Wanderers' winless run in the Championship was extended to five matches as Preston North End took all three points at Molineux.
Paul Gallagher gave the visitors the lead with a neat chipped shot that had keeper Carl Ikeme well beaten.
Adam Reach doubled their advantage after the break when he collected a loose ball and fired low past Ikeme.
Joe Mason scored his second goal in two appearances since signing for Wolves in January but Preston held on.
The result sees North End move up three places from 14th to 11th and leapfrog Wolves in the Championship table, while the hosts slip a place to 12th.
Kenny Jackett's side, whose last Championship win came in their 3-2 victory against Fulham on 12 January, were booed off the pitch at the final whistle.
A bad afternoon for the hosts was made worse soon after Gallagher's opening goal as midfielder James Henry was forced off with a hamstring injury.
Wolves manager Kenny Jackett:
"All of us are looking for good performances and wins, and the wins haven't come here at home this year.
"It is our job to produce results and we didn't do that today. It was a disappointing day and a disappointing result.
"I understand the frustration and accept it. We need to produce. I need to produce results.
"I was looking for us to up the tempo but we couldn't create the chances that we needed and it was the key moments in the game that cost us because at home the goals against total is too high."
Preston manager Simon Grayson:
"We obviously had a bit of pressure on us when they scored but overall it was a very pleasing and professional performance.
"To go 2-0 up was just what we deserved. We got a little bit sloppy just after that but you can't fault the players for what they have done.
"We have to keep working and doing the right things. It is an honest group who are getting the rewards for what they have put in all season.
"The sole purpose is to be in the Championship next season and we will keep working hard and see where it takes us."
- 8SavilleSubstituted forRoweat 85'minutes
- 17van La ParraSubstituted forMasonat 45'minutes
- 7HenrySubstituted forByrneat 18'minutes
- 29Le Fondre
- 6WrightBooked at 40mins
- 12GallagherSubstituted forWelshat 67'minutes
- 14GarnerSubstituted forDoyleat 86'minutes
- Kevin Johnson
- Shots on Target
Second Half ends, Wolverhampton Wanderers 1, Preston North End 2.
Foul by Björn Sigurdarson (Wolverhampton Wanderers).
John Welsh (Preston North End) wins a free kick on the left wing.
Corner, Preston North End. Conceded by Matt Doherty.
Hand ball by Joe Mason (Wolverhampton Wanderers).
Attempt blocked. Björn Sigurdarson (Wolverhampton Wanderers) left footed shot from outside the box is blocked.
Dominic Iorfa (Wolverhampton Wanderers) wins a free kick in the defensive half.
Foul by Eoin Doyle (Preston North End).
Substitution, Preston North End. Eoin Doyle replaces Joe Garner.
Substitution, Wolverhampton Wanderers. Tommy Rowe replaces George Saville.
Attempt missed. Paul Huntington (Preston North End) header from the centre of the box misses to the right. Assisted by Adam Reach with a cross following a corner.
Corner, Preston North End. Conceded by Ethan Ebanks-Landell.
Attempt missed. Nathan Byrne (Wolverhampton Wanderers) right footed shot from outside the box misses to the left. Assisted by Joe Mason.
Foul by Dominic Iorfa (Wolverhampton Wanderers).
Greg Cunningham (Preston North End) wins a free kick on the left wing.
Attempt saved. Alan Browne (Preston North End) left footed shot from outside the box is saved in the bottom right corner. Assisted by Calum Woods.
Ethan Ebanks-Landell (Wolverhampton Wanderers) wins a free kick in the defensive half.
Foul by Adam Reach (Preston North End).
Nathan Byrne (Wolverhampton Wanderers) wins a free kick on the right wing.