Southampton’s defence held firm over the final 20 minutes and Alex McCarthy preserved the lead with a save from point-blank whilst Hojbjerg secured all three points in added time.
The win marks just the third in 12 tries for Southampton manager Mark Hughes, who helped the club maintain top-flight status last season.
The visitors were in control from the start and nearly pushed in front when Luka Milivojevic forced his own goalkeeper into a reactionary save at the post.
Hojbjerg, who returned to the side following his one-game suspension, had a blazing effort tipped over the bar whilst Nathan Redmond and Shane Long each had first-half chances.
Ings provided the opener two minutes after the restart as he took advantage of casual defending when raced onto Cedric’s delivery and finished calmly past Wayne Hennessey.
Southampton had a chance to double the lead from the penalty spot after Aaron Wan-Bissaka was adjudicated to have handled the ball in the box.
But Charlie Austin, who came on just moments before, saw his effort saved by Hennessey, before Mohamed Elyounoussi struck the bar with Southampton in search of a second goal.
McCarthy kept out Benteke and Kouyate in the closing stages whilst the former headed into the feet of the Saints goalkeeper.
Crystal Palace: Hennessey, Wan-Bissaka, Kelly, Sakho, Van Aanholt, Townsend (Kouyate 72), Milivojevic, McArthur, Schlupp (Meyer 76), Ayew (Sorloth 76), Benteke.
Unused subs: Guaita (GK), Ward, Riedewald, Puncheon.
Bookings: Wan-Bissaka (63).
Southampton: McCarthy, Bertrand, Hoedt, Vestergaard, Cedric, Hojbjerg, Lemina, Elyounoussi (Targett 73), Redmond, Ings (Romeu 78), Long (Austin 61).
Unused subs: Gunn (GK), Yoshida, Ward-Prowse, Davis.
Goals: Ings (47), Hojbjerg (90+2).
Bookings: Vestergaard (77).