Amari’i Bell popped up with a late equaliser to keep Town’s unbeaten league run rolling on at The Valley.
Ricky Holmes had given the hosts a 37th minute lead as he fired in from close range.
But after peppering Declan Rudd’s goal in the dying stages Bell was in the right place at the right time to coolly slide the ball home.
There was more late drama with David Ball hitting the woodwork with another spectacular curling effort and Nathan Byrne was shown a straight red for a late challenge on the Town forward.
It was Town’s 13th match unbeaten in the league with Uwe Rosler’s men retaining their grip on fourth spot in the League One table.
Rosler made three changes to the side that drew 1-1 with Southend last weekend for the trip to The Valley.
David Ball popped up with a late leveller against the Shrimpers but Rosler rotated his strikers once again with Ball and Hunter moving to the bench with Devante Cole and Wes Burns starting along with central midfielder Markus Scwabl who came in for George Glendon.
Both sides had two early chances with Davies just recovering to slide in and stop Charlton’s Watt running through on goal with Rudd having to make a big save up the other end to stop Cole’s angled effort.
It was a battle of attrition in the middle of the park for most of the first half but Town broke once again. Charlton target Dempsey did well to tee-up Cole but his second angled effort was once again diverted away by Rudd’s leg with the keeper tipping over Bolger’s header from Dempsey’s subsequent set-piece.
Cole chased down a ball over the top and went down under pressure from Rudd in the corner of the box but the referee waved away the strikers penalty claim.
There was barely anything between the sides as the break neared but a moment of individual skill from Forster-Caskey finally found a way to break through. A reworked corner that was won from Cairns tipping Watt’s fierce strike round the post fell to Forster-Caskey on the right of the box he dropped his shoulder to breeze to the back-line and rolled the ball across foal for Holmes to tap in from close range.
Rosler reshuffled at the break with forward Ball sent on for Burns who barely got a sniff in the first 45.
But it was the hosts who started strongly but failing to create anything in the final third.
After a lengthy break due to one of the assistant referee’s swapping roles with the fourth official Rosler threw Hunter on for Schwabl and reshuffled once again.
The hosts lost their momentum after the mini-break and Town should have levelled just seconds after the action resumed.
Hunter and Cole pressed with Cole pouncing on a loose ball at the back and sprinting towards Rudd but with Charlton recovering he did not manage to get full contact with the ball just falling behind the run of Bell who’s eventual effort was blocked by a red shirt.
McLaughlin was felled by a late challenge in his own corner which left him unable to play on and he limped off to the bench unable to walk on his right foot.
That lead to Cameron Brannagan making his debut in an attacking midfield role.
Charlton looked nervous at the back as the game wore on with Ball popping up to firstly divert Hunter’s cross from the right into the side netting and then blasting the ball just wide of the left post after Forster-Caskey’s failed to clear Bolger’s header in the box.
But it was not all Town with Charlton’s Watt wasting a fine chance to put the game to bed when he found himself unmarked in the box, he lofted the ball over the bar but it would not have counted anyway with the assistant ruling him offside.
Town threatened with Brannagan providing some neat touches and after a succession of late set-pieces finally got their reward as Bell pounced on the loose ball in the box and slid the ball through a crowd of bodies.
Ball nearly popped up with another fine curling winner but his effort crashed back off the woodwork and Hunter just fizzed the ball over the bar with Charlton reduced to 10-men in the seventh minute of added time with Byrne shown a straight red for a bad tackle on Ball.
Fleetwood: Cairns, McLaughlin (Brannagan, 71) , Eastham, Bolger, Davies, Bell, Dempsey, Schwabl (Hunter, 61), Grant, Cole, Burns (Ball, 46). Subs not used: Neal, Glendon, Davis, Maguire.
Charlton: Rudd, Solly, Konsa, Bauer, Chicksen (Jackson, 65), Crofts, Forster-Cakey (Teixeira 86), Aribo, Byrne, Holmes (Novak, 78), Watt. Subs not used: Phillips, Dasilva, Botaka, Mavididi.
Referee: Tim Robinson.
Attendance: 9116 (140 Fleetwood)