Daniel Udoh’s 93d-minute winner lifted Shrewsbury out of the Sky Bet League One drop zone with a 1-0 victory to end Charlton’s six-match unbeaten run.
Just as the game looked to be heading for a stalemate in Shropshire, Udoh reacted to a knock-down to win it for the home side.
Rekeil Pyke went close to glancing Salop into a third-minute lead, before Addicks goalkeeper Craig MacGillivray produced a one-handed stop to deny teenager Tom Bloxham.
Ryan Bowman then almost nodded the hosts ahead, with Steve Cotterill’s men enjoying the better of the early chances.
Charlton came back into the game as the half went on, with Alex Gilbey’s long-range effort kept out by Marko Marosi.
Salop had their goalkeeper to thank again shortly after the break, as he produced a double save to keep out Conor Washington.
Both sides had chances in an open finish but, as the game looked to be heading for a scoreless draw, the ball dropped to Udoh and he made no mistake.
Enjoy the convenience of having The Sunday Post delivered as a digital ePaper straight to your smartphone, tablet or computer.
Subscribe for only £5.49 a month and enjoy all the benefits of the printed paper as a digital replica.Subscribe