Late goals from Timo Werner and Ben Chilwell ensured Chelsea got back to winning ways after a two-game blip.
Werner’s fifth goal of the season came when he swept in a Cesar Azpiliuceta cross from close range and, as Southampton wilted under late pressure, Chilwell made it 3-1, angling in a shot that just crossed the line before keeper Alex McCarthy could claw it away.
Trevoh Chalaobah had given the Blues the lead after only nine minutes – nodding home an inswinging Chilwell corner to the far post that had been flicked on by the head of Ruben Loftus-Cheek.
But Saints had drawn level with a James Ward-Prowse penalty on the hour after a trip by Chilwell on former Blues defender Valentino Livramento.
The goals on 85 and 89 minutes came not long after Saints had been reduced to 10 men following the dismissal of skipper Ward-Prowse for a tackle from behind on Jorginho on 73 minutes. An initial yellow was upgraded to red by referee Martin Atkinson after a VAR alert.
Chelsea had two goals ruled out before the break.
Romelu Lukaku netted following a dazzling slalom run from Antonio Rudiger, but was flagged offside, then another Stockley Park intervention prompted Atkinson to disallow a header from Werner because Azpilucueta was deemed to have fouled Kyle Walker-Peters in the build-up.
Chelsea: Mendy, Azpilicueta, Silva. Rudiger, Silva, Hudson-Odoi (Mount 65), Chalobah, Kovacic (Jorginho 73), Loftus-Cheek (Barkley 83), Chilwell, Werner, Lukaku.
Subs: Kepa, Alonso, Christensen, Saul, Ziyech, Havertz.