Cray ended a run of nine straight defeats as a goal in each half, the second by ex-Carshalton player Paul Vines was enough to seal victory for the Ryman Premier's bottom club.
Carshalton remain above the Wands on goal difference but the result was a sour end to new manager Stuart Massey's first home game.
The Robins were indebted to 'keeper Shaun Phillips for keeping the scores level in the first 15 minutes as he denied Alex Stavrinou, Morgan Ferrier and Jordan Bird, before Jide Maduako gave Cray the lead by heading in from a 36th minute corner-kick.
Kingsley Aikhionbare was denied either side of half time by good saves from Wands 'keeper Darren Behcet before the game became a stalemate in worsening weather conditions.
Vines struck on 76 minutes after Phillips initially did well to deny Ferrier on the edge of the Carshalton box. The returning striker picked up the pieces to eventually slot home.
The thunder, lightning and hail of the last ten minutes may have matched the mood in the home dressing room.
Star Man: Darren Behcet (Cray)