Town went behind early in the game as Jonathan Leko scored for the away side, but quickly responded through Pelly-Ruddock Mpanzu’s second goal of the season.
Izzy Brown struck early in the second half to net his first goal for the club as the Hatters earned a well-deserved three points for the first time since beating Bristol City 3-0 in mid-October.
The victory brought an end to five defeats on the bounce against a side that Town failed to defeat last season in their League One title-winning campaign.
The Hatters started well and almost took the lead within five minutes. Dan Potts played a searching ball down the left-hand-side to Harry Cornick and his cut back into the box was met by James Collins, whose looping shot hit the bar.
But despite the positive start, it was Charlton who took the lead in the seventh minute. Macauley Bonne pounced on a mistake by captain Sonny Bradley and set Leko away, and the striker was too quick breaking forward from the halfway line to calmly finish past James Shea.
It wasn’t long before the Hatters were back in the game though after a good period of pressure. First Ryan Tunnicliffe won a free-kick on the edge of the box, which Brown took and forced visiting keeper Dillon Phillips into a good save.
Following that attack, the midfielder’s cross into the box at the second attempt was blocked straight into the path of Mpanzu, who smashed the ball home first time to level the game before the 20-minute mark.
Mpanzu was looking to turn provider eight minutes later as he played a ball in behind which Charlton failed to clear. His pass found its way through to Collins, but he couldn’t keep his shot down.
The Hatters, much like the first period, started the second half well and took the lead in the 53rd minute.
Shinnie read a misplaced pass ten yards inside the Charlton half, burst forward and played Brown into the box to his left. The on-loan Chelsea man controlled, juggled the ball past a defender and poked it past Phillips for his first Hatters goal.
Shinnie was then inches away from scoring a third Hatters goal just minutes later but his curling effort from 25 yards hit the post.
Town were in the ascendancy as Brown went close once again, firing narrowly wide from a free-kick with 25 minutes to play.
The hosts continued pushing for another goal and produced a lovely free-flowing move, which resulted in Collins’ shot being deflected behind for a corner after Shinnie's initial effort was blocked.
Mpanzu then produced a lovely bit of skill in midfield as he played the ball forward to Brown, who looked out wide and found Cornick darting through. The forward progressed forward but could only fire his effort over the bar.
Charlton then had chances of their own through Conor Gallagher towards the closing stages, first Shea got down well to save from the 19-year-old, before the midfielder struck the post from distance.
The Hatters survived late pressure from the Addicks to lift themselves up out of the relegation zone and into 20th place before Saturday's short trip to face another London outfit in Brentford.
TOWN: Shea, Bree, Pearson, Bradley (C), Potts, Tunnicliffe (Bolton 79), Shinnie, Mpanzu, Brown, Cornick, Collins. Subs not used: Sluga, McManaman, Galloway, LuaLua, Jones, Butterfield.
Goals: Mpanzu (19) Brown (53)
Yellows: Brown, Shinnie, Potts
CHARLTON: Phillips, Solly, Sarr (Doughty 60), Lockyer, Pearce (C), Purrington (Davison 85), Gallagher, Morgan, Pratley, Leko, Bonne. Subs not used: Maynard-Brewer, Matthews, Oshilaja, Vennings.
Goals: Leko (7)
Yellows: Gallagher
Referee: Darren England
Attendance: 10,004 (1,032 away fans)