Shane Long looked like being the star of the show as he ended his 1320-minute goal drought in the league with a crisply taken first-half strike. James McArthur grabbed the equalizer and Luka Milivojevic scored a superb victor to bag all three points for Palace.
Saints started well with Long and Dusan Tadic going close with the former blazing over inside the first 30 seconds.
Eagles stopper Wayne Hennessey then pulled of a brilliant stretching save to palm away Pierre-Emile Hojbjerg's long-range strike.
A flowing team move down the left saw Saints defender Ryan Bertrand attempt a cross that was cleared to the feet of Jérémy Pied, with the French man sending in a low-driven cross across the box, with Long running onto the end if it and smashing the ball into the right hand corner.
Palace were already showing signs of fatigue - perhaps owing largely to the energy used holding Premier League leaders Manchester City to a 0-0 draw a little over 48 hours earlier - and then Southampton scored and delight for the Republic of Ireland striker.
Crystal Palace: Hennessey, Fosu-Mensah, Kelly, Tomkins, Schlupp (Sako 64), Townsend, McArthur, Milivojevic, Cabaye (c) (van Aanholt 46), Zaha, Benteke.