Barnsley substitute Garry O'Connor struck a late winner to increase the problems for struggling Preston.
North End boss Darren Ferguson's team have won only twice at home this season, though they did take an early lead via defender Craig Morgan's head.
But a spectacular strike from winger Adam Hammill brought the Tykes level shortly before half-time.
On-loan Birmingham striker O'Connor then capitalised on a defensive error to settle the match in the 89th minute.
The result leaves the home side level on 14 points with Crystal Palace and Bristol City at the bottom of the Championship table, while Barnsley sit five points above them in 17th.
Preston had started well, and went close inside the second minute when striker Jon Parkin's fierce 18 yard-shot was blocked by Jason Shackell.
But they took the lead two minutes later when Keith Treacy crossed the ball in from a free-kick on the right and Morgan headed home from six yards.
Tykes goalkeeper Luke Steele then made a fine save from Parkin, and the visitors gradually gained a foothold in the match.
After peppering Preston's goal with a number of efforts, Hammill made Barnsley's breakthrough after collecting possession 30 yards out before unleashing an unstoppable shot that flew into the top corner.
The hosts were dealt another blow when Billy Jones succumbed to injury and was replaced by David Gray at the break.
Barnsley went close to a second in the 63rd minute when Hammill's free-kick was met by Shackell, but his close-range header went over the crossbar.
Yet just as the points looked set to be shared, O'Connor nicked the ball after a mistake from Sean St Ledger to fire home from 12 yards to leave Deepdale stunned.
90:00+3:58 The final whistle is blown by the referee.
90:00+3:02 Short corner taken by Adam Hammill.
90:00+2:24 Adam Hammill takes a shot. Craig Morgan gets a block in. Short corner taken by Adam Hammill.
90:00+1:51 Unfair challenge on Jacob Butterfield by Craig Morgan results in a free kick. Jacob Butterfield restarts play with the free kick.
90:00+0:38 Jacob Butterfield concedes a free kick for a foul on Danny Mayor. Callum Davidson restarts play with the free kick.
88:38 GOAL - Garry O'Connor:Preston 1 - 2 Barnsley Garry O'Connor finds the back of the net with a goal from deep inside the penalty box to the bottom left corner of the goal. Preston 1-2 Barnsley.
Correction - 88:31 Shot from outside the penalty box by Jim O'Brien goes wide right of the goal.
Correction - 88:31 Substitution Goran Lovre leaves the field to be replaced by Jacob Butterfield.
88:31 Effort from outside the box by Jim O'Brien goes wide right of the target.
88:31 Substitution Jacob Butterfield comes on in place of Goran Lovre.
86:47 Paul Parry sends in a cross, Effort on goal by Darel Russell from just inside the area clears the bar.
86:27 Danny Mayor sends in a cross, Stephen Foster manages to make a clearance.
86:08 The ball is swung over by Diego Arismendi, save made by Andy Lonergan.
85:36 Jim O'Brien fouled by Paul Coutts, the ref awards a free kick. Jason Shackell takes the direct free kick.
85:27 Adam Barton sends in a cross, comfortable save by Luke Steele.
84:11 Free kick awarded for an unfair challenge on Stephen Foster by Jon Parkin. Jason Shackell takes the direct free kick.
82:11 Paul Parry takes a shot. Blocked by Stephen Foster. Outswinging corner taken from the left by-line by Paul Parry.
81:22 Adam Hammill takes a shot. Andy Lonergan makes a save. Outswinging corner taken by Kieran Trippier from the right by-line.
80:43 The ball is crossed by Paul Coutts, Jason Shackell manages to make a clearance.
80:04 The official flags Goran Lovre offside. Sean St. Ledger takes the free kick.
79:07 A cross is delivered by Callum Davidson, Jon Parkin takes a shot. Luke Steele makes a comfortable save.
77:23 Free kick awarded for an unfair challenge on Callum Davidson by Goran Lovre. Callum Davidson restarts play with the free kick.
76:34 Danny Mayor produces a right-footed shot from just outside the box that goes wide right of the goal.
75:35 Danny Mayor is ruled offside. Luke Steele restarts play with the free kick.
73:10 Effort on goal by Adam Hammill from just inside the penalty box goes harmlessly over the target.
73:10 Substitution Garry O'Connor comes on in place of Andy Gray.
73:10 Substitution Diego Arismendi joins the action as a substitute, replacing Hugo Colace.
71:01 The ball is swung over by David Gray, Darel Russell produces a header from inside the area that goes over the bar.
71:01 Substitution (Preston) makes a substitution, with Danny Mayor coming on for Keith Treacy.
69:43 Keith Treacy delivers the ball, Jason Shackell manages to make a clearance.
66:07 Callum Davidson sends in a cross, Paul Parry takes a shot. Bobby Hassell gets a block in. Outswinging corner taken by Keith Treacy, Hugo Colace manages to make a clearance.
65:26 Adam Hammill takes a shot. Andy Lonergan makes a save.
65:16 A cross is delivered by Kieran Trippier.
63:57 Free kick awarded for a foul by David Gray on Adam Hammill. The ball is delivered by Adam Hammill, Close range headed effort by Jason Shackell clears the crossbar.
63:57 Booking The referee shows David Gray a yellow card for unsporting behaviour.
62:55 Hugo Colace concedes a free kick for a foul on Paul Parry. The free kick is delivered left-footed by Keith Treacy from right wing, Stephen Foster fouled by Craig Morgan, the ref awards a free kick. Luke Steele restarts play with the free kick.
62:39 The ball is crossed by Paul Parry, Jason Shackell manages to make a clearance.
61:47 A cross is delivered by Keith Treacy, Stephen Foster manages to make a clearance.
61:07 Jon Parkin crosses the ball, Kieran Trippier makes a clearance.
60:25 Free kick awarded for an unfair challenge on Darel Russell by Nathan Doyle. Callum Davidson takes the free kick.
59:24 Adam Hammill produces a cross, Sean St. Ledger makes a clearance.
58:13 Darel Russell concedes a free kick for a foul on Nathan Doyle. Free kick taken by Kieran Trippier.
57:27 Paul Parry gives away a free kick for an unfair challenge on Hugo Colace. Direct free kick taken by Bobby Hassell.
56:42 Free kick awarded for an unfair challenge on Darel Russell by Hugo Colace. Direct free kick taken by Paul Coutts.
56:42 Substitution (Preston) makes a substitution, with Adam Barton coming on for Matthew James.
55:54 Adam Hammill has shot on goal from just outside the penalty box which goes wide of the right-hand upright.
54:49 Andy Gray takes a shot. Save by Andy Lonergan.
54:30 Darel Russell gives away a free kick for an unfair challenge on Goran Lovre. Stephen Foster takes the direct free kick.
53:13 Stephen Foster challenges Darel Russell unfairly and gives away a free kick. Strike comes in from Keith Treacy from the free kick, save by Luke Steele.
51:32 Jim O'Brien produces a cross, clearance made by Craig Morgan.
50:57 Free kick awarded for a foul by David Gray on Adam Hammill. Free kick crossed by Adam Hammill, clearance by Jon Parkin.
50:01 Corner taken by Paul Coutts from the right by-line played to the near post, Jim O'Brien manages to make a clearance.
49:35 Callum Davidson delivers the ball, Jason Shackell makes a clearance.
48:28 Darel Russell crosses the ball, Kieran Trippier makes a clearance.
48:03 Corner taken by Adam Hammill from the right by-line, Andy Lonergan makes a save.
47:42 The ball is delivered by Kieran Trippier.
46:08 Jason Shackell gives away a free kick for an unfair challenge on Darel Russell. Craig Morgan takes the free kick.
45:46 Foul by Keith Treacy on Kieran Trippier, free kick awarded. Free kick taken by Stephen Foster.
45:13 Free kick awarded for an unfair challenge on Darel Russell by Nathan Doyle. Direct free kick taken by Craig Morgan.
45:01 The second half has started.
45:01 Substitution David Gray replaces Billy Jones.
Half Time
45:00+1:15 The referee blows for half time.
45:00+0:53 Adam Hammill takes a shot. Save made by Andy Lonergan.
44:22 Keith Treacy takes a shot. Save made by Luke Steele.
43:18 GOAL - Adam Hammill:Preston 1 - 1 Barnsley Adam Hammill fires in a goal from long range to the top right corner of the goal. Preston 1-1 Barnsley.
42:34 Effort from the edge of the box by Keith Treacy goes wide of the left-hand upright.
42:03 Jon Parkin gives away a free kick for an unfair challenge on Jason Shackell. Jason Shackell takes the free kick.
41:25 A cross is delivered by Adam Hammill. The referee blows for offside against Goran Lovre. Free kick taken by Andy Lonergan.
39:59 The ball is swung over by Bobby Hassell. The assistant referee flags for offside against Andy Gray. Free kick taken by Andy Lonergan.
39:23 Paul Parry produces a cross, clearance made by Stephen Foster.
37:52 Free kick awarded for a foul by Jon Parkin on Jason Shackell. Luke Steele takes the free kick.
37:22 Free kick awarded for a foul by Nathan Doyle on Keith Treacy. Sean St. Ledger takes the free kick.
37:13 A cross is delivered by Adam Hammill, save made by Andy Lonergan.
36:31 Callum Davidson delivers the ball, Jason Shackell manages to make a clearance.
35:15 Darel Russell has an effort at goal. Luke Steele makes a save. Corner taken left-footed by Keith Treacy, free kick awarded for a foul by Jon Parkin on Luke Steele. Luke Steele takes the free kick.
34:34 Adam Hammill takes a shot.
33:57 Effort from the edge of the box by Hugo Colace goes wide of the right-hand upright.
32:41 Foul by Andy Gray on Darel Russell, free kick awarded. Keith Treacy delivers the ball from the free kick left-footed from right wing, save made by Luke Steele.
30:15 The ball is crossed by Billy Jones.
30:02 The ball is sent over by Keith Treacy, Jason Shackell makes a clearance.
28:37 Keith Treacy has an effort at goal from outside the area which goes wide right of the goal.
27:08 Billy Jones produces a cross, clearance made by Stephen Foster.
25:39 Foul by Paul Coutts on Kieran Trippier, free kick awarded. Adam Hammill sends in a cross, Jason Shackell takes a shot. Save by Andy Lonergan.
23:31 Centre by Adam Hammill, save made by Andy Lonergan.
22:54 Long range shot from Kieran Trippier misses to the left of the goal.
21:21 Matthew James is adjudged to have handled the ball. Shot on goal comes in from Adam Hammill from the free kick. Outswinging corner taken from the right by-line by Adam Hammill, save made by Andy Lonergan.
19:05 Corner taken right-footed by Adam Hammill, Goran Lovre takes a shot. Save made by Andy Lonergan.
17:23 Effort on goal by Adam Hammill from long range goes harmlessly over the target.
15:14 Corner taken by Adam Hammill, Stephen Foster takes a shot. Save by Andy Lonergan.
12:57 Paul Coutts gives away a free kick for an unfair challenge on Bobby Hassell. Luke Steele takes the direct free kick.
12:18 Andy Gray challenges Callum Davidson unfairly and gives away a free kick. Direct free kick taken by Sean St. Ledger.
10:19 Effort on goal by Kieran Trippier from just inside the area clears the bar.
9:04 The ball is delivered by Adam Hammill, Paul Parry makes a clearance.
8:31 Jon Parkin takes a shot. Save by Luke Steele.
6:58 Hugo Colace fouled by Paul Coutts, the ref awards a free kick. Jason Shackell restarts play with the free kick.
5:43 Foul by Jason Shackell on Darel Russell, free kick awarded. Keith Treacy produces a strike on goal direct from the free kick.
3:31 Assist by Keith Treacy.
3:31 GOAL - Craig Morgan:Preston 1 - 0 Barnsley Craig Morgan finds the back of the net with a headed goal from close in. Preston 1-0 Barnsley.
Correction - 2:56 Nathan Doyle challenges Jon Parkin unfairly and gives away a free kick. Centre by Keith Treacy,
2:56 Jon Parkin fouled by Nathan Doyle, the ref awards a free kick. Keith Treacy takes the free kick.
2:06 The ball is sent over by Kieran Trippier.
1:25 Jon Parkin takes a shot. Blocked by Jason Shackell.
1:07 Free kick awarded for an unfair challenge on Sean St. Ledger by Andy Gray. Direct free kick taken by Callum Davidson.
0:00 The referee gets the match started.
Live text and data provided by The Press Association.
Bookmark with:
What are these?