James Ward-Prowse notched his second Premier League goal of the season on a spectacular individual effort before Lucas Digne’s own-goal appeared to be enough for Saints.
Gylfi Sigurdsson would pull one back at the start of stoppage time to set up yet another nervy finish, but the visitors never truly threatened to draw level over eight minutes added on.
The result earned Southampton a fifth win on the season, including a second under Austrian manager Ralph Hasenhuttl, and lifts them to 22 points and three clear of the bottom three.
Southampton had little hangover from a disappointing FA Cup exit in penalties against Derby, with Danny Ings, who returned to the side, coming close twice in the opening half hour.
Ings’ header forced Jordan Pickford into a reactionary save on the line, before another stop on a thunderous effort halted the striker from finding an opening goal.
Nathan Redmond nearly gave Saints a deserved breakthrough on 33 minutes when he raced onto a pass that had split the defence, but the attempt struck the far post and away to safety.
Everton made the brighter start to the second-half and almost grabbed a lead, but Alex McCarthy made a fine stop to deny Sigurdsson’s header at the near post.
Ward-Prowse rewarded his goalkeeper when he fired Southampton ahead two minutes later, as his shot beat Pickford for pace.
Redmond helped double the lead 14 minutes later as he forced Digne into a lunging tackle to prevent the midfielder breaking in on goal, but the challenge steered the ball into the net.
Despite holding a majority of the possession, Everton struggled to breakdown the defence, but Sigurdsson would slip an attempt past McCarthy to make it 2-1.
Southampton, however, held on over an extended added time, which lasted eight minutes, to earn their second home win of the season.
Southampton: McCarthy, Targett (Cedric 35), Bednarek, Vestergaard, Stephens, Valery, Romeu, Hojbjerg, Ward-Prowse, Redmond (Armstrong 86), Ings (Long 75)
Unused subs: Gunn (GK), Ramsay, Slattery, Gallagher.
Goals: Ward-Prowse (50), Digne (OG 64).
Bookings: Redmond (67), Long (90+7).
Everton: Pickford, Digne, Keane, Zouma, Coleman, Andre Gomes (Calvert-Lewin 57), Gueye, Bernard (Walcott 75), Sigurdsson, Lookman, Richarlison (Tosun 65).
Unused subs: Stekelenburg (GK), Baines, Mina, Davies.
Goals: Sigurdsson (90+1).
Bookings: Gueye (67).