Match ends, Shrewsbury Town 1, Northampton Town 2.
Northampton Town survived a late rally to win as promotion chasers Shrewsbury Town suffered their first home League Two defeat of the season.
Town were soon behind when Chris Hackett's low, right-foot shot crept inside the post.
The Cobblers doubled their lead when Ricky Holmes curled a free-kick into the path of Joel Byrom, who rifled in.
Micky Demetriou headed in Bobby Grant's corner late on to ensure a tense finish, but the visitors held on.
Having previously won 13 and drawn three times in front of their own fans, Shrewsbury went into the game boasting the only unbeaten home record in the Football League.
But they remain second in the table, three points behind leaders Burton, who also lost at home, while Northampton climb to 10th, six points outside the play-off places.
Shrewsbury Town manager Micky Mellon told BBC Radio Shropshire:
"We have to give Northampton great credit for putting in that type of performance here. We can't afford to give ourselves too much to do. Our side will always fight back, but we ran out time to get level.
"We've put the lads on in the second half and made it really difficult for them. We've had chances near the end to get level and got ourselves in good positions.
"It is disappointing to lose our home record at any stage of the season. But we'll dust ourselves down ready for Tuesday. It's good we have a game to move straight onto, but there's no doubt that Accrington will be tough."
Northampton Town manager Chris Wilder told BBC Radio Northampton:
"A deserved result. We've had to defend with our lives in the last ten minutes.
"I think we're a dangerous side to play against and we backed ourselves. We didn't come here just to make the numbers up.
"We have to now make sure that on Tuesday night (against Portsmouth) we don't lower our performance levels."
- 22ClarkSubstituted forGrantat 45'minutes
- 10VernonSubstituted forAkpa-Akproat 45'minutes
- 16SouthernSubstituted forWildigat 73'minutes
- 2MoloneyBooked at 81mins
- 11HackettSubstituted forCarterat 69'minutes
- 19D'AthSubstituted forDiamondat 90'minutes
- 24ToneyBooked at 88mins
- Chris Kavanagh
- Shots on Target
Second Half ends, Shrewsbury Town 1, Northampton Town 2.
Foul by Mark Ellis (Shrewsbury Town).
Ivan Toney (Northampton Town) wins a free kick in the defensive half.
Attempt missed. Tyrone Barnett (Shrewsbury Town) right footed shot from the centre of the box is close, but misses to the right.
Attempt missed. Jean-Louis Akpa-Akpro (Shrewsbury Town) header from the centre of the box misses to the left.
Attempt missed. Mark Ellis (Shrewsbury Town) right footed shot from outside the box is too high.
Substitution, Northampton Town. Zander Diamond replaces Lawson D'Ath.
Corner, Shrewsbury Town. Conceded by Ryan Cresswell.
Ivan Toney (Northampton Town) is shown the yellow card.
Connor Goldson (Shrewsbury Town) wins a free kick in the defensive half.
Foul by Ivan Toney (Northampton Town).
Corner, Northampton Town. Conceded by Jayson Leutwiler.
Goal! Shrewsbury Town 1, Northampton Town 2. Mickey Demetriou (Shrewsbury Town) header from the centre of the box to the bottom right corner. Assisted by Bobby Grant with a cross.
Bobby Grant (Shrewsbury Town) wins a free kick on the right wing.
Foul by Joel Byrom (Northampton Town).
Corner, Shrewsbury Town. Conceded by Jason Taylor.
Brendon Moloney (Northampton Town) is shown the yellow card.
Attempt missed. Jermaine Grandison (Shrewsbury Town) right footed shot from the right side of the box is high and wide to the right.
Substitution, Shrewsbury Town. Aaron Wildig replaces Keith Southern.