Liverpool somehow salvaged their Champions League dreams from the near wreckage of an awful performance at Anfield.
Coming just a couple of days after their Mersey derby heroics, Liverpool misfired terribly, until the dying minutes when they struck twice to end Charlton's hopes of a first victory at Anfield for 49 years.
Liverpool had been limp and uninspired and looked to be heading for a shattering defeat after Shaun Bartlett had put the Londoners ahead straight after the break.
Liverpool toiled, failed to create any sustained pressure and were heading for disaster until Sami Hyypia stabbed home an equaliser with four minutes to go.
Then Kop hero Steven Gerrard blasted the winner in the last seconds. Anfield erupted, but just as important as Gerrard's cracker was Jerzy Dudek's wonder save from Jason Euell's header seconds before Liverpool's winner.
Maybe it was too much to expect the high levels of emotion and excitement that was Saturday's Mersey derby triumph for Liverpool, but an expectant Anfield grew
increasingly frustrated with a scrappy display against a Charlton side who have slipped into mid-table and forgotten all thoughts of Europe in recent weeks.
Liverpool had Hyypia back from suspension and El-Hadji Diouf included in the starting line-up , now fully recovered from his shin infection.
But if Liverpool were expecting a cruise at Anfield, Charlton clearly had not read the script.
They were energetic, quick and assured in defence and showed no intention of letting Liverpool have the points without a fight.
After just two minutes Dudek had to stretch to pull down a Kevin Lisbie header following Radostin Kishishev's chipped cross, and Liverpool's defence were never allowed a cosy day.
Diouf and Gerrard both had speculative shots that failed to trouble Dean Kiely, and Liverpool's first real chance came on 14 minutes when Emile Heskey held the ball up well on the edge of the box and played Michael Owen into space,
the striker spinning to hit a low shot that Kiely saved to his left.
Gerrard crashed a 30-yarder a foot wide after Danny Murphy's tapped free-kick, and Keily then had to plunge from his line to take the ball from Emile Heskey's feet after the big striker had been played in behind Charlton's defence by Diouf.
But it was never easy for Liverpool, their touch and understanding was not quite there and a combination of Charlton's energy and Liverpool's scrappy play meant the game drifted, although Richard Rufus almost deflected the ball into his own net as he lunged at Gerrard's angled cross into the box, the Charlton defender's involvement sending the ball skimming over the bar.
Liverpool had plenty of possession but did little with it. But Heskey, showing great strength work rate up front, rose to send a Murphy corner flashing over the crossbar with a powerful header and then took a Gerrard pass, turning Rufus and forcing Kiely into another save at his feet.
Liverpool lost Heskey at the break, Milan Baros taking over and they were stunned when Charlton grabbed a shock lead two minutes into the second period.
It was a catalogue of disaster for Djimi Traore, who received the ball on the edge of the box and turned into trouble as Shaun Bartlett closed in. Traore attempted to kick the ball away, missed, twisted and fell over. Bartlett took possession, moved into an empty box and fired the ball in off the far post.
A distraught Traore was left flat on the pitch and needed treatment before he could resume.
Liverpool needed to change the course of a game that was slipping away from them as Charlton grew in confidence.
But chances were at a premium as Charlton continued to defend doggedly. On the hour Diouf took a pass from Owen after a fine run from Gerrard, but saw his low drive deflected inches wide.
Then Diouf ducked low inside the six yard box to flick a header wide, but credit to Fortune who did well to stop the Senegal striker get any real direction on his effort.
Gerrard and Baros both had long range efforts saved by Kiely, but there was an increasing anxiety now from Liverpool as they continued to fail to make any real progress through Charlton's defence.
Liverpool sent on Vladimir Smicer and Bruno Cheyrou for Murphy and Diouf on 73 minutes, a last throw of the dice to inject something into a flagging home side.
Anfield had virtually given up hope but on 86 minutes Liverpool were level. Riise's corner was flicked on by Gerrard and Hyypia stabbed a shot in off Kiely's diving frame.
Two minutes from the end Dudek produced that magnificent save to his right to somehow turn over an eight-yard power header from Euell.
Then Gerrard turned the game on it's head in the last minute, coming in from the left flank, cutting inside two defenders and driving a low shot just inside the far post.
The stadium went berserk, some how Liverpool's flagging heroes had salvaged something from a game they hardly deserved to win.
Teams
Liverpool Dudek, Carragher, Hyypia, Traore, Riise,
Diouf (Cheyrou 74), Hamann, Gerrard, Murphy (Smicer 74),
Heskey (Baros 45), Owen.
Subs Not Used: Arphexad, Diao.
Goals: Hyypia 86, Gerrard 90.
Charlton Kiely, Young, Rufus, Fortune, Powell, Kishishev,
Jensen, Parker (Robinson 83), Konchesky, Bartlett (Euell 77),
Lisbie (Johansson 90).
Subs Not Used: Roberts, Bart-Williams.
Booked: Fortune.
Goals: Bartlett 47.
Att: 42,010
Ref: S Dunn (Avon).