Match ends, Barnsley 1, Shrewsbury Town 2.
Jordan Clark's injury-time goal earned Shrewsbury Town their first league win of the season at his old club Barnsley.
The visitors took an early lead when Mark Ellis scrambled home a Liam Lawrence corner from a few yards out.
Marley Watkins' precise pass picked out ex-Shrewsbury loan signing Sam Winnall, who slotted beyond Jason Leutwiler to equalise just before half-time.
But Micky Mellon's Town took all three points when Clark's shot was deflected in four minutes into injury time.
Barnsley-born Clark, who moved to Shrewsbury from Oakwell in June 2014, was making his first appearance against his home-town club.
Shrewsbury manager Micky Mellon told BBC Radio Shropshire:
"We had to learn lessons from the defeat last week. It was a tough one to take to lose in the last minute. But you always believe you will get your roll of the dice and it was our turn today.
"Jordan will have mixed emotions about this result as they are big Barnsley people - but I thought he was fantastic."
"We have given good performances all season and been beaten by individual errors or moments of magic, but I am pleased with how it has all come together. We need to keep on churning out results."
- 19PearsonBooked at 45mins
- 7ScowenBooked at 84mins
- 8HourihaneBooked at 40minsSubstituted forSmithat 71'minutes
- 21CrowleySubstituted forK Harrisat 70'minutes
- 27K Harris
- 14WesolowskiSubstituted forColeat 16'minutesBooked at 49mins
- 12BrownSubstituted forSadlerat 66'minutes
- 23BarnettSubstituted forAkpa-Akproat 77'minutes
- 22ClarkBooked at 90mins
- Stuart Attwell
- Shots on Target
Second Half ends, Barnsley 1, Shrewsbury Town 2.
Jordan Clark (Shrewsbury Town) is shown the yellow card for excessive celebration.
Goal! Barnsley 1, Shrewsbury Town 2. Jordan Clark (Shrewsbury Town) left footed shot from the centre of the box to the bottom left corner.
Corner, Shrewsbury Town. Conceded by Reece Wabara.
Attempt missed. Jordan Clark (Shrewsbury Town) right footed shot from the left side of the box is close, but misses to the left.
Josh Scowen (Barnsley) wins a free kick in the defensive half.
Foul by Nathaniel Knight-Percival (Shrewsbury Town).
Attempt missed. Kadeem Harris (Barnsley) right footed shot from the left side of the box is just a bit too high.
Attempt missed. Liam Lawrence (Shrewsbury Town) right footed shot from outside the box is close, but misses to the right.
Josh Scowen (Barnsley) is shown the yellow card for a bad foul.
Foul by Josh Scowen (Barnsley).
Larnell Cole (Shrewsbury Town) wins a free kick in the attacking half.
Attempt saved. Jean-Louis Akpa-Akpro (Shrewsbury Town) header from the right side of the six yard box is saved in the bottom right corner.
Attempt missed. Jean-Louis Akpa-Akpro (Shrewsbury Town) right footed shot from the left side of the box misses to the right.
Attempt blocked. Josh Scowen (Barnsley) right footed shot from outside the box is blocked.
Delay over. They are ready to continue.
Substitution, Shrewsbury Town. Jean-Louis Akpa-Akpro replaces Tyrone Barnett.
Delay in match Jayson Leutwiler (Shrewsbury Town) because of an injury.
Attempt missed. Sam Winnall (Barnsley) header from the centre of the box is just a bit too high.