Palace winger Wilfried Zaha grabbed his side's winner in the second half when he volleyed home a bobbling, loose ball following former Saints player Jason Puncheon's parried shot.
Puncheon also set up Palace's opener for former Portsmouth man Joel Ward to fire home.
Saints' Spanish midfielder Oriol Romeu had equalised for Southampton shortly after half-time. But, it wasn't to be for the Saints as good chances were squandered by the home side in the dying minutes following Zaha's winner.
Today's game was all to familiar for Ronald Koeman and Southampton fans. The team started brightly and wasted good goal-scoring opportunities, only for a defensive mishap lead to the opposition scoring - Saints then have to chase the game.
Koeman has been criticised for his tactics, having started with a fairly negative 5-3-2 formation at the start which isn't great for any team playing at home.
This is now seven defeats from nine games for Southampton and this poor form doesn't appear to be relenting any time soon as they host in-form Watford at home on Wednesday.