Sadio Mane gave Saints a first-half lead following a mistake by veteran keeper Julian Speroni, one of five changes to the Palace side that beat Stoke City last weekend, and Graziano Pelle added the second just past the hour.
Palace got back into the game quickly when Jason Puncheon scored with a blistering shot three minutes later but a 75th-minute Ryan Bertrand penalty and a late strike from Steve Davis secured the victory.
Southampton are assured of at least a spot in the Europa League's qualifying round, but will have to wait for Manchester United to play Bournemouth in Sunday's abandoned match to know if they can keep fifth place, which gives direct qualification to the group phase.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
(Reporting by Rex Gowar; Editing by Toby Davis)
