More on KentOnline
Charlton's League 1 play-off bid took a blow on Saturday when title-chasing Shrewsbury proved too strong at The Valley.
The visitors, who missed a first-half spot-kick, claimed a comfortable three points thanks to two second-half goals.
A cheap ticket offer meant The Valley hosted their biggest crowd of the season but the majority went home disappointed.
Charlton started at a blistering pace. They should have led inside two minutes but Jake Forster-Caskey's close-range finish lacked conviction and was easily blocked.
Within 60 seconds, visiting keeper Dean Henderson had twice saved his side. Josh Magennis did well to direct his header goalwards, but Henderson saved with his feet. Then Joe Aribo let fly from the edge of the box but the Shrews keeper tipped over to deny him.
Shrewsbury lost right-back James Bolton to injury inside the first 10 minutes but they soon got into their stride.
They won an 18th-minute penalty when Ezri Konsa fouled Jon Nolan in the box. Nolan stepped up to take the spot-kick but his low drive was kept out by keeper Ben Amos. Nolan then headed the rebound against the bar before Charlton were able to clear the danger.
Shrewsbury dominated the rest of the half without ever looking like scoring. Charlton were unable to keep the ball, proving their own worst enemies at times.
It was no surprise when the visitors went ahead seven minutes after the break when Alex Rodman cut in from the left and curled a delightful finish beyond the reach of Amos.
The visitors doubled their lead midway through the second half when Omar Beckles had a free header from close range to nod home a right-wing corner.
Substitute Tariqe Fosu had Charlton's only attempt in the second half but was unable to hit the target as Henderson's main involvement was to rush over 50 yards to join in with some pushing and shoving after a foul inside the other half.
Charlton: Amos, Kashi, Pearce, Marshall (Fosu 57mins), Magennis, Kaikai (Zyro 90mins), Aribo, Konsa, Forster-Caskey, Solly, Dasilva (Ajose 71mins). Subs not used: Maynard-Brewer, Jackson, Bauer, Reeves.
Shrewsbury: Henderson, Godfrey, Sadler, Beckles, Whalley, Ogogo, Morris (John-Lewis 90mins), Bolton (Hendrie 10mins), Nolan, Nsiala, Rodman. Subs not used: McGillivray, Thomas, Morris, Eisa, Payne.
Attendance: 17,581 (1,254 away).