Cameron Archer scored 12 minutes into his Preston debut after coming off the bench
Preston dented West Brom's hopes of automatic promotion with victory in a scrappy Championship encounter.
Emil Riis Jakobsen poked Preston in front from almost on the goalline after Greg Cunningham's ball into the box took a deflection off Kyle Bartley.
Debutant Cameron Archer headed in the second from close range after David Button parried Cunningham's cross.
Albion failed to register a shot on target as they lost at home in the league for the first time this season.
But, for delighted Preston boss Ryan Lowe, who went to salute the travelling fans at the end, it was a great night as his side bounced back from their first defeat under him at Swansea on Saturday.
Johnstone not selected over 'internal issue'
To add to an already unsettled mood of fans' discontent at The Hawthorns, Albion went into the game without England goalkeeper Sam Johnstone.
He was due back after a three-game ban but he was left out over an "internal issue" by under-fire Baggies boss Valerien Ismael, who also revealed that he will not be considered for selection for Saturday's trip to Millwall.
- Relive Preston's win at West BromIsmael blames time-wasting opponents
The taking of all three points - Preston's first at The Hawthorns since the days of only two points for a win in the old Division Two back in September 1973 - was built round a fine hard-working, defensive performance which lifted them two places in the table to 13th.
Albion had rallied late on against Peterborough on Saturday to score three times in the last 11 minutes for a 3-0 win.
But, once on-loan Aston Villa striker Archer had marked his debut with his first league goal, there never looked likely to be a repeat of that sort of finale from a limp Albion attack, badly missing injured New Year's Day signing Daryl Dike.
West Bromwich Albion boss Valerien Ismael told BBC Radio WM:
"We deserve all the criticism for that. It was a poor team performance. I agree with all the boos.
"We have no excuses. We were never in the game. We deserved to lose. When you put in a performance like that, you have to accept it.
"We didn't put in the energy or effort to win that game."
On Sam Johnstone's absence:
"We had an issue internally. It is solved now but that is the reason he wasn't in the squad and won't be on Saturday but after that he will be back."
- Line-upsMatch StatsLive Text
- 25Button21KipréSubstituted forGardner-Hickmanat 45'minutes5Bartley3TownsendBooked at 78mins2FurlongBooked at 49mins8LivermoreSubstituted forMolumbyat 73'minutes27Mowatt20Reach11Diangana18Grant10PhillipsSubstituted forRobinsonat 56'minutes
12Iversen2van den Berg5Bauer16Hughes44Potts18Ledson4Whiteman3Cunningham8Browne19Riis Jakobsen9Evans
- 12Iversen2van den Berg5Bauer16Hughes44Potts18LedsonSubstituted forMcCannat 83'minutes4WhitemanBooked at 48mins3Cunningham8Browne19Riis JakobsenBooked at 52minsSubstituted forArcherat 64'minutes9EvansBooked at 69minsSubstituted forMaguireat 73'minutesBooked at 90mins
Referee:Keith StroudMatch StatsHome TeamWest BromAway TeamPrestonPossessionHome57%Away43%ShotsHome8Away10Shots on TargetHome0Away3CornersHome3Away4FoulsHome13Away19Live TextPost update
Match ends, West Bromwich Albion 0, Preston North End 2.
Second Half ends, West Bromwich Albion 0, Preston North End 2.
Corner, Preston North End. Conceded by Conor Townsend.
Sean Maguire (Preston North End) is shown the yellow card.
Foul by Adam Reach (West Bromwich Albion).
Sean Maguire (Preston North End) wins a free kick on the right wing.
Corner, Preston North End. Conceded by Alex Mowatt.
Offside, Preston North End. Greg Cunningham tries a through ball, but Sean Maguire is caught offside.
Foul by Jayson Molumby (West Bromwich Albion).
Greg Cunningham (Preston North End) wins a free kick on the left wing.
Offside, Preston North End. Andrew Hughes tries a through ball, but Cameron Archer is caught offside.
Substitution, Preston North End. Alistair McCann replaces Ryan Ledson.
Attempt missed. Callum Robinson (West Bromwich Albion) right footed shot from outside the box is too high following a corner.
Corner, West Bromwich Albion. Conceded by Benjamin Whiteman.
Attempt blocked. Karlan Grant (West Bromwich Albion) right footed shot from outside the box is blocked.
Callum Robinson (West Bromwich Albion) wins a free kick in the attacking half.
Foul by Patrick Bauer (Preston North End).
Grady Diangana (West Bromwich Albion) wins a free kick in the defensive half.
Foul by Greg Cunningham (Preston North End).
Attempt blocked. Alan Browne (Preston North End) right footed shot from outside the box is blocked.
Page 1 of 6rewindpreviousNavigate to the next pagenextNavigate to the last pageforward