Fraser Forster set a Saints club record for the longest time without conceding a goal but it couldn’t stop Chelsea taking three points.
Shane Long had given the hosts a half-time lead but Cesc Fabregas fortuitously ended Forster’s long run with a second-half equaliser and Branislav Ivanovic powered home a last-minute header to win the game for the champions.
Saints boss Ronald Koeman will feel his side let this game slip away, having looked comfortable for a long time.
The home side had the first decent chance. Thibaut Courtois came to challenge Virgil van Dijk for a cross but it was the Saints defender that got there first to head across goal.
Long was on the end of it but he couldn’t hit the target from eight yards out.
Midway through the opening half it was Saints again threatening. This time Charlie Austin put a tempting ball across Courtois’ goal but there was no red shirt there to apply the finish.
Forster ended the first half with a record on his CV, passing Paul Jones’ haul of 666 minutes without conceding but and it was double joy when Long put the home side ahead.
Rahman Baba played the ball straight into the path of the Ireland international and he burst away from the Chelsea defence, beat Courtois to the ball and dinked it into the corner of the net.
The second half was characterised by a running battle between Diego Costa and van Dijk.
The big defender appeared to be winning when Costa went in the referee’s notebook but it was the Chelsea man that would win out.
Costa chased down a lost cause to keep the ball alive and feed Fabregas with 15 minutes remaining.
Fabregas curled a cross towards the far post and some indecision between van Dijk and Forster meant it went straight in at the far post.
That gave Chelsea belief and they began to press on with Southampton less of a threat after Long gave way for Graziano Pelle.
Just as it seemed destined for a draw, Willian’s inswinging corner was powerfully met by Ivanovic and the ball flew past Forster to win the day for Guus Hiddink’s side.