Costa set up Eden Hazard’s early opener, which was cancelled out by Oriol Romeu, before Gary Cahill restored the hosts’ lead at an unseasonably cold Stamford Bridge.
Costa sealed victory with a second-half brace, ending a seven-game goal drought and heaping the pressure on second-place Tottenham Hotspur, who visit in-form Crystal Palace on Wednesday.
Ryan Bertrand added a stoppage-time consolation for Southampton, who remain ninth.
Having beaten Spurs in the FA Cup semi-finals on Saturday, Chelsea’s latest win reaffirmed the status of Antonio Conte’s side as England’s team to beat.
They face a thorny trip to Everton this weekend and have now gone 11 league games without a clean sheet — their longest run since 1996 — but the finishing line is just five games away.
Hazard, Costa and Cesc Fabregas returned to the Chelsea XI after starting Saturday’s 4-2 win over Tottenham on the bench and they combined for the fifth-minute opener.
Fabregas’s pass from halfway sent Costa scampering away down the inside-right channel and his cut-back was swept into the bottom-left corner by Hazard.
The Belgian forward has now scored 15 goals in a Premier League season for the first time, his highest tally since netting 20 times for Lille in 2011-12.
The trio were at it again shortly after, Costa deftly cushioning Fabregas’s pass into the path of Hazard, who curled well wide.
But there had already been nervy moments in the hosts’ penalty area — an unmarked Jack Stephens volleying tamely at Thibaut Courtois — and before long Southampton were level.
– Terry ovation –
James Ward-Prowse’s corner from the left was inadvertently flicked on by Cesar Azpilicueta and reached the unattended Manolo Gabbiadini at the back post.
The Italian’s cross-shot flicked off Courtois and was tapped in by Chelsea old boy Romeu, who had last scored in January 2016.
Set-pieces continued to prove the home side’s Achilles heel, with Courtois obliged to swat away a dangerous Ward-Prowse free-kick before Sofiane Boufal thrashed into the side-netting at a corner.
A storming run by N’Golo Kante forced Stephens into a desperate headed clearance and Costa had a penalty appeal turned down, but Chelsea were on the ropes until Cahill struck in first-half stoppage time.
Kante’s deep cross was helped on by Marcos Alonso and with Costa launching himself into a mid-air scissors kick, the England captain charged in bravely to head home.
Costa would not be denied the next time he got a sight of goal in the 53rd minute as he brought up a half-century of league goals on his 85th appearance since signing from Atletico Madrid in 2014.
After a short corner with Hazard, Fabregas lofted a cross to the far post and Costa held off Bertrand to plant a header past Fraser Forster.
Dusan Tadic worked Courtois with a skidding effort and Gabbiadini hit the side-netting after again being left unmarked at a corner, moving Conte to angrily kick a bag beside the dug-out.
Chelsea club captain John Terry came on for the final five minutes and was afforded a standing ovation in his first appearance since announcing he will leave the club at the end of the season.
After Kante and substitute Pedro had threatened for Chelsea, Costa made it 4-1 with a delightful late goal, swapping passes with first Hazard and then Pedro before drilling a low shot past Forster.