Gnahoua scored either side of the break after an opening goal from Cole Stockton to give Derek Adams' side another vital victory
The Shrimps soon found themselves under pressure from the home side and had to produce some vital defensive blocks.
Rhys Bennett was in the thick of the action with a superb block from Jayden Stockley's close-range shot and then produced another excellent clearance as Alex Gilbey threatened.
Corey Blackett-Taylor was seeing a lot of the ball down the left and forced Trevor Carson into a neat save low to his right before Albie Morgan volleyed well wide.
After surviving the early pressure the Shrimps grew into the game with Cole Stockton forcing Craig MacGillvray into a superb save low to his left with a shot from 25 yards.
Stockton then tested the keeper again with a close-range shot before giving the Shrimps the lead on 23 minutes after a superb move.
Greg Leigh broke free down the right and shared a quick pass with Dylan Connoley before pulling the ball back to Stockton who squeezed the ball into the bottom right hand corner from 12 yards out.
The Shrimps then doubled their lead two minutes from the break through Arthur Gnahoua. The winger received the ball in the area and weaved his way across the area before slotting a cool finish into the bottom right hand corner.
Charlton hit back looking for a quick reply but in injury time Trevor Carson produced a brilliant save to tip away a close range Stockley header.
Charlton hit back from the half-time boos from their fans and started the game on the front foot and pulled one back through Jayden Stockley on 53 minutes, when he bundled over the ball from close range after the Shrimps defence failed to deal with a right wing cross.
But as Charlton threatened to get back into the game Gnahoua scored a superb second.
MacGillvray threw the ball directly into the Morecambe player's path and he took full advantage with a fierce left foot shot that flew into the roof of the Charlton net.
The home side looked to hit back but were kept at bay until nine minutes from time when Chuks Aneke was left free in the box to head home Corey Blackett-Taylor's left wing cross.
The pressure continued but the Shrimps held firm to make it three wins from four and give their hopes of staying in League One a massive boost.
Charlton: MacGillvray, Clare, Pearce, Famewo, Dobson, Gilbey (Washington 60), Matthews, Blackett-Taylor, Morgan (Forster-Caskey 69), Burstow (Aneke 75). Subs not used: Harness, Purrington, Jaiyesimi, Leko.
Morecambe: Carson, Leigh, Bedeau, Bennett, Gibson (Cooney 77), Fane, Wildig (McLoughlin 88), Phllips, Gnahoua, Stockton, Connolly (O'Connor 88). Subs not used: Smith, Diagouraga, Ayunga, McCalmont.
Ref: Marc Edwards.