A rare Phil Bardsley goal helped to book Sunderland a Capital One Cup quarter-final tie with Chelsea as the defender continued his rehabilitation under Gus Poyet.
It was only Sunderland's fourth win of the season, three of them coming in this competition. And it was Bardsley's first goal since he secured a draw against the same opposition as they strove to avoid relegation in May.
The former Manchester United full-back struck from close range 14 minutes into the second half after former Sunderland goalkeeper Kelvin Davis had parried Jozy Altidore's header.
Substitute Sebastian Larsson looked to have secured victory four minutes from time, but Maya Yoshida's late header for Southampton set up a tense conclusion.
Bardsley might have left Sunderland in the summer after being discarded by former manager Paolo Di Canio when a photograph of him lying on the floor of a casino covered in £50 notes emerged, followed by an ill-judged tweet.
Southampton's Mauricio Pochettino changed 10 of the team who started at Stoke at the weekend while Poyet retained only seven of his starting line-up, although that was in part dictated by injury and suspension.
The first half was a muted affair but after the break Davis had to block Craig Gardner's 48th-minute effort with his legs. At the other end, Sunderland's Vito Mannone had a let-off 16 minutes from time when he blasted a clearance against Adam Lallana and saw the ball drop just wide of his unprotected net.
Sunderland had a scare when Yoshida headed in from close range two minutes after Larsson scored but they held on to become the first team to defeat Southampton in nine attempts in all competitions since August.
Sunderland Mannone, Celustka (Larsson, 70), Brown, O'Shea, Bardsley, Johnson, Gardner, Ki, Colback, Giaccherini (Fletcher, 92), Altidore.
Southampton K Davis, Chambers, Yoshida, Hooiveld, Fox, Cork, Reed, Rodriguez, Ramirez (Gallagher, 79), S Davis (Lallana, 70), Lee (Ward-Prowse, 57).
Referee L Mason (Lancashire)
Tuesday 17 December
Leicester City v Manchester City
Sunderland v Chelsea
Wednesday 18 December
Stoke City v Manchester United
Tottenham Hotspur v West Ham