Match ends, Shrewsbury Town 1, Oldham Athletic 2.
Danny Philliskirk extended Oldham's winning run to four games by completing an impressive fightback at Shrewsbury.
On-loan Reading striker Gozie Ugwu pounced on poor defending to fire Town ahead - his first goal for the club.
Tamika Mkandawire denied Korey Smith an equaliser with a goal-line clearance, before Charlie MacDonald ran onto a neat ball from Anton Rodgers to level.
Philliskirk put Oldham ahead, before keeper Mark Oxley ensured victory by denying Tom Bradshaw late on.
VIEW FROM THE DRESSING ROOM
Shrewsbury manager Graham Turner told BBC Radio Shropshire:
"To be fair, it's as well as we've played for a while. We passed the ball well and got into good areas.
"But the equaliser just before half-time was criminal - to be opened up at the back like that with one ball through the middle.
"We started so brightly with Gozie Ugwu's first goal for the club, and one or two situations we should have done better with.
"It was a frustrating night, to be leading 1-0 and looking comfortable - and to end up with nothing."
Oldham manager Lee Johnson told BBC Radio Manchester:
"We just didn't get going and I was really upset with the first-half performance. We were off it but it was good character from the boys.
"I'm pleased because we've won ugly and that's an art.
"We've always got threats all over the pitch and we have got finishers, but we just needed to be a bit tidier around the pitch."
- 3JacobsonSubstituted forMcAllisterat 26'minutesBooked at 63mins
- 4SummerfieldBooked at 64mins
- 20McAlindenSubstituted forBradshawat 81'minutes
- 20PetrassoSubstituted forClarke-Harrisat 34'minutes
- 17RodgersSubstituted forWesolowskiat 60'minutes
- 19DaytonSubstituted forSchmeltzat 67'minutes
- James Adcock
- Shots on Target
Second Half ends, Shrewsbury Town 1, Oldham Athletic 2.
Gozie Ugwu (Shrewsbury Town) wins a free kick on the right wing.
Foul by Matteo Lanzoni (Oldham Athletic).
Foul by Gozie Ugwu (Shrewsbury Town).
Charlie MacDonald (Oldham Athletic) wins a free kick on the left wing.
(Shrewsbury Town) wins a free kick on the left wing.
Foul by Johnson Clarke-Harris (Oldham Athletic).
Corner, Oldham Athletic. Conceded by Darren Jones.
Attempt blocked. Danny Philliskirk (Oldham Athletic) right footed shot from outside the box is blocked.
Attempt missed. David McAllister (Shrewsbury Town) right footed shot from outside the box is close, but misses to the right.
Tom Bradshaw (Shrewsbury Town) wins a free kick in the defensive half.
Foul by James Wesolowski (Oldham Athletic).
Attempt saved. Johnson Clarke-Harris (Oldham Athletic) right footed shot from the left side of the box is saved in the top right corner.
Attempt saved. Connor Goldson (Shrewsbury Town) header from the right side of the box is saved in the bottom right corner.
Corner, Shrewsbury Town. Conceded by Mark Oxley.
Attempt saved. Tom Bradshaw (Shrewsbury Town) right footed shot from the right side of the box is saved in the bottom right corner.
Foul by Darren Jones (Shrewsbury Town).
Charlie MacDonald (Oldham Athletic) wins a free kick in the defensive half.
Substitution, Shrewsbury Town. Tom Bradshaw replaces Liam McAlinden.