Owen Dale scored twice for Crewe to deal a blow to Charlton's play-off hopes in a 2-2 draw at The Valley.
The home side took an early lead when Alex Gilbey's cross from the left was headed home from a tight angle by Jayden Stockley.
However, from that point, Charlton spent much of the game under pressure from the mid-table visitors and Dale cut in from the left in the 67th minute before comfortably placing the equaliser beyond goalkeeper Ben Amos.
The Addicks regained the lead when a corner from Jake Forster-Caskey was cleared only as far as Akin Famewo and he headed the ball back into the danger area where Gilbey glanced a header through goalkeeper Will Jaaskelainen's legs and into the net.
Despite their season being effectively over, Crewe continued to fight and Dale tucked away a dramatic equaliser deep into stoppage time following frantic scenes inside the Charlton area.
With results elsewhere going against Nigel Adkins' side, they now sit two points outside the top six, although they have a game in hand on their rivals.