A minute earlier, Mark Bright had been denied his second goal although it was evident even without Sky TV's magnified close-ups that the ball had crossed the line. There was time for one more attack, in which another substitute, the teenager Scott Parker, kept his head while all around were holding theirs in frustration, and fed Martin Pringle, who climaxed his debut by winning Charlton's first point since 14 November.
With eight defeats in a row since then, the black hole at the foot of the Premiership seemed to be swallowing them up, all the more so when Newcastle went 2-0 ahead by the 55th minute. Bright gave his team a toe hold, which firmed up when Newcastle's Nikolaos Dabizas was sent off 12 minutes from the end. Things were slipping again before Pringle's dramatic late intervention.
Newcastle's manager Ruud Gullit bemoaned a "crazy day and crazy week" but he will have found few sympathisers, least of all in this corner of south-east London, for a crop of injuries that included the former Charlton hero Robert Lee. "The sending-off changed the whole game," he said. "All these circumstances are out of my control and that's very frustration." Gullit was equally annoyed by the decision to show a yellow card to Alan Shearer, who will now be suspended, though the tackle split Pringle's boot.
On Gullit's own admission, "sexy" football is now off the agenda following two wins in 13 matches. Charlton have long since abandoned any such pretensions and there was certainly nothing pretty or seductive about yesterday's game. It became an eventful and controversial one, however, in the second half.
Charlton's manager, Alan Curbishley, who has been scouring Britain and the Continent for a striker, had given full debuts to Pringle, a loanee from Benfica, in attack and Simon Royce in goal as Sasa Ilic, faulted for a number of goals recently, was dropped for the first time. The public address system played "Things Can Only Get Better" but they got worse first.
Temuri Ketsbaia gave the visitors the lead after 14 minutes when he latched on to Alan Shearer's flick-on before firing past Royce from 25 yards.
Nolberto Solano then doubled the advantage on 55 minutes after more good work by Shearer and Ketsbaia, the Peruvian stabbing home the loose ball after Ketsbaia's shot had been only partially saved by Royce.
Charlton looked dead and buried but an inspired substitution brought them back into the game, Bright scoring with his first touch seconds after coming on following Mills' long throw.
The home crowd then thought they had ended their miserable run when another Bright header looked to have crossed the line before being hacked clear. The referee, Peter Jones, and his linesman were not convinced however - they will be when they see a video replay - and it looked as though Newcastle, down to 10 men now, would escape.
But there was still time for another dramatic twist as Swedish international Pringle, making his home debut since joining on loan from Benfica, fired a volley past Steve Harper with the last kick of the game to spark wild celebrations at The Valley.
The home side had started brightly with Keith Jones, replacing the suspended Neil Redfearn, battling his way to the byline but Harper, deputising for the suspended Shay Given, reacted quickly to cut out the danger.
John Robinson then went close to breaking the deadlock after seven minutes, volleying just over from Pringle's flick-on.
But Newcastle gradually began to get into the game, Gary Speed firing inches wide after Ketsbaia's lay-off 20 yards out. Shearer then escaped the attentions of Carl Tiler to race to the byline and Mills did well to get to the cross before the lurking Ketsbaia.
Goals: Ketsbaia (13) 0-1; Solano (55) 0-2; Bright (64) 1-2; Pringle (90) 2-2.
Charlton Athletic: Royce; Mills, Powell, Youds, Newton (Konchesky, 63), Kinsella, Hunt (Bright, 63), Robinson, Jones (Parker 79), Tiler, Pringle. Substitutes not used: Brown, Ilic (gk).
Newcastle United: Harper; Barton, Howey, Shearer, Speed, Ketsbaia (Dalglish, 89), Georgiadis, Solano (Hughes 79), Domi, Dabizas, Brady (Charvet, 72). Substitutes not used: Barnes, Perez (gk).
Referee: P Jones (Loughborough).
Sending-off: Newcastle: Dabizas 77. Bookings: Newcastle: Shearer, Dabizas, Georgiadis.
Man of the match: Ketsbaia.