First half goals from Oliver Finney and Crewe’s Mikael Mandron doomed Charlton to their third straight loss to Sky Bet League One as the Railwaymen claimed a 2-1 victory.
Substitute Mason Burstow offered hope to Johnnie Jackson’s side with 10 minutes remaining.
And Crewe breathed a sigh of relief when referee Rob Lewis ruled out Elliot Lee’s deflected timeout as they recorded their third win in five games to move within four points of safety.
Lee wasted a simple first-half opportunity for the Addicks after Jonathan Leko led the ball through the six-yard penalty area, but the striker’s touch dropped him in front of goal.
Charlton goalie Stephen Henderson did well to repel a successful Scott Robertson half volley at his near post.
But he couldn’t hold back Mandron’s scathing shot and Finney was there to bury the rebound for Crewe’s 38th-minute lead.
Henderson slipped out of his line to thwart Chris Long as Crewe unsuccessfully appealed for a penalty.
But they made him count from the resulting corner taken by Tom Lowery with Mandron jumping the highest to peek into the far corner for the second of the hosts.
Dave Richards kept Crewe’s two-goal lead after the rebound by pushing Ben Purrington’s header back to the far post.
And the relegation-threatened Alex came close to the third when Long pushed an effort against the outside of the post.
But Charlton reduced the deficit as Burstow continued with a header after Conor Washington’s shot was parried by Richards in the 80th minute.
Then late drama ensued when Lee’s arrival was dismissed as offside after a lengthy discussion between officials.