The Tykes were under severe pressure at the back when substitute Armstrong, brought in from Newcastle, outwitted Alex Baptiste before curling home.
Barnsley had gone ahead in the first half when Sam Winnall slid home Marley Watkins' cross from close range.
Aiden McGeady's 25-yard strike levelled the scores, but Preston failed to make the most of their other chances.
The Lilywhites went into game next to bottom in the Championship table, having failed to win any of their eight previous home matches, a run stretching back to last season.
Boss Simon Grayson started with all three pre-deadline signings, McGeady, Marnick Vermijl and Alex Baptiste, while Barnsley had four new faces, including Armstrong, on the bench.
The Tykes started brightly, although keeper Adam Davies had to dive to tip a Paul Gallagher free-kick on to the post as it eluded everyone in the box.
Once McGeady had cancelled out Winnall's opener following a short corner, Preston carried the greater threat and Jordan Hugill's header forced a good save from Adam Davies before Callum Robinson blazed over from a good position.
But Armstrong, who scored twice at the start of a loan spell for Coventry last season, had the final say as he backheeled the ball past Baptiste and picked his spot beyond goalkeeper Anders Lindegaard.
Preston manager Simon Grayson:
"I think if anyone watched the game they will see how well we've played. We dominated the ball, the chances and the play.
"We limited them to hardly any possession second half, so to get hit on the sucker punch is very difficult to take.
"We've not deserved to lose that game, but that's football. It can be cruel at times. We just have to keep believing in what we are doing and eventually the breaks will come for us."
Barnsley manager Paul Heckingbottom:
"We earned the right to play a bit more football late on and we saw the game out with a fantastic goal.
"We changed the formation as the game went on and we felt that if we could get someone behind their two midfielders it could cause them a problem.
"We know we weren't at our best on the ball, but we really put our bodies on the line. I'm very proud of them and I think the fans are proud of them as well because that passion is what they want to see.
"We have shown we can score goals and win games at this level and we've shown two different ways to win."
Match ends, Preston North End 1, Barnsley 2.
Second Half ends, Preston North End 1, Barnsley 2.
Foul by Greg Cunningham (Preston North End).
Josh Scowen (Barnsley) wins a free kick on the right wing.
Corner,  Barnsley. Conceded by Alex Baptiste.
Foul by John Welsh (Preston North End).
Josh Scowen (Barnsley) wins a free kick in the attacking half.
Substitution, Barnsley. Cole Kpekawa replaces Adam Hammill.
Adam Davies (Barnsley) is shown the yellow card.
Attempt missed. Aiden McGeady (Preston North End) right footed shot from outside the box is close, but misses to the right. Assisted by John Welsh.
Attempt saved. Tom Clarke (Preston North End) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by Simon Makienok.
Offside, Barnsley. Adam Hammill tries a through ball, but Conor Hourihane is caught offside.
Andy Yiadom (Barnsley) is shown the yellow card.
Attempt missed. Adam Hammill (Barnsley) right footed shot from the left side of the box is too high. Assisted by Conor Hourihane following a corner.
Corner,  Barnsley. Conceded by Tom Clarke.
Attempt blocked. Conor Hourihane (Barnsley) left footed shot from outside the box is blocked.
Substitution, Preston North End. Simon Makienok replaces Eoin Doyle.
Jordan Hugill (Preston North End) is shown the yellow card for a bad foul.
Foul by Jordan Hugill (Preston North End).
Adam Hammill (Barnsley) wins a free kick in the attacking half.
Goal!  Preston North End 1, Barnsley 2. Adam Armstrong (Barnsley) left footed shot from the right side of the box to the top left corner. Assisted by Conor Hourihane.
Attempt saved. Callum Robinson (Preston North End) right footed shot from outside the box is saved in the bottom left corner. Assisted by Greg Cunningham.
Substitution, Preston North End. Daniel Johnson replaces Paul Gallagher.
Offside, Preston North End. Tom Clarke tries a through ball, but Jordan Hugill is caught offside.
Attempt missed. Callum Robinson (Preston North End) left footed shot from the centre of the box is high and wide to the left. Assisted by Aiden McGeady.
Attempt missed. Paul Gallagher (Preston North End) left footed shot from the left side of the box misses to the right.
Attempt blocked. Callum Robinson (Preston North End) right footed shot from the centre of the box is blocked. Assisted by Paul Gallagher.
Attempt saved. Jordan Hugill (Preston North End) header from the centre of the box is saved in the top right corner. Assisted by Paul Gallagher with a cross.
Foul by Josh Scowen (Barnsley).
Paul Gallagher (Preston North End) wins a free kick on the left wing.
Attempt missed. Aiden McGeady (Preston North End) right footed shot from outside the box misses to the right. Assisted by Eoin Doyle.
Offside, Barnsley. Andy Yiadom tries a through ball, but Marley Watkins is caught offside.
Attempt saved. Paul Gallagher (Preston North End) right footed shot from more than 35 yards is saved in the top centre of the goal.
Attempt missed. Eoin Doyle (Preston North End) header from the centre of the box is close, but misses to the right. Assisted by Callum Robinson with a cross.
Substitution, Barnsley. Sam Morsy replaces Sam Winnall.
Goal!  Preston North End 1, Barnsley 1. Aiden McGeady (Preston North End) left footed shot from outside the box to the top left corner. Assisted by Paul Gallagher following a corner.
Corner,  Preston North End. Conceded by Angus MacDonald.
Attempt blocked. Eoin Doyle (Preston North End) right footed shot from the right side of the box is blocked. Assisted by John Welsh.
Attempt missed. Jordan Hugill (Preston North End) header from the centre of the box is too high. Assisted by Eoin Doyle with a cross.
Substitution, Barnsley. Adam Armstrong replaces Ryan Kent.
Loan signing Adam Armstrong scored a brilliant debut goal to give Barnsley the points at struggling Preston.