The Saints were the brighter of the two sides in the opening stages, with Vicente Guaita called into action to deny Jack Stephens and Danny Ings early on.
Palace were more than happy to let their visitors enjoy the bulk of possession, and the counter attacking threat of Zaha worked perfectly on 14 minutes.
James McCarthy’s tackle sent Andros Townsend in behind the Saints defence, and with Stephens and Jan Bednarek unable to recover, Zaha arrived on cue to bury his low cross.
With the game in danger of drifting after the break, Saints defender Kyle-Walker Peters gave referee Jon Moss something to think about just after the restart.
Moss initially showed him a straight red card after a lunge at Tyrick Mitchell, but after a long VAR check, he downgraded to a yellow.
That reprieve pushed the Saints on, as Guaita produced a fantastic reaction stop from Che Adams.
Palace set their stall out to dig in for the final 15 minutes, as makeshift centre back Cheick Kouyate held the defence together.
This game certainly won’t go down as a classic for attacking quality, but Palace’s trademark stubbornness was enough to secure the points.
FULL TIME AT SELHURST PARK IT’S CRYSTAL PALACE 1 SOUTHAMPTON 0