Ronald Koeman’s men were on course for another success over the Blues when Shane Long gave the hosts the lead just before half time with a neat finish for his seventh league goal of the season.
That, combined with Fraser Forster breaking a club record for longest time without conceding in the top flight, made for a near perfect first half for Saints who were aiming for a first league double over Chelsea in 27 years.
They were pegged back in fortuitous circumstances too, with Cesc Fàbregas’s cross creeping in at the far post with quarter of an hour remaining.
And while the leveller was tough to take, the 89th-minute winner from Branislav Ivanović rubbed salt into the wound, as Saints’ six-game unbeaten run came to an end.
Saints boss Koeman made two changes to the team that beat Swansea with Cédric making a return to the starting eleven, while striker Charlie Austin was handed a first start for the club in attack.
A competitive opening to the match saw a little while for the first chances in the game to materialise, but Saints made their early presence in the game felt with nine minutes on the watch when Davis’ short corner to Jordy Clasie was returned to the Northern Irishman, whose low shot in at the near post was cleared by Diego Costa.
Chelsea were restricted in the game and had been forced to make an early with Pedro replaced by Brazilian playmaker Oscar.
Saints stretched the play at every opportunity, as the hosts focused on testing the visitors with crosses throughout the first half.
The most dangerous one of the lot came from Austin in the 23rd minute, with the striker’s delivery back into the area headed away by Gary Cahill.
Chelsea gradually played their way back into the match, looking a threat on the break, with Oscar’s low strike bringing a good save from Forster.
Both Costa and Eden Hazard fired shots over the England ‘keeper’s cross bar, with the glovesman not beaten in a first-half of action to surpass Paul Jones's record of 666 minutes without conceding a goal in the top flight.
As the game appeared to be heading for a scoreless half of play, Saints broke the deadlock.
It owed to the persistence of Long who deservedly grabbed a goal when he pounced on a loose header from Baba, and the striker made a brilliant run into the area to produce a deft finish over the advancing Thibaut Courtois.
Chelsea ended the half with a couple of half-chances with Oscar’s cross deflected across goal by Bertrand and out, before Fàbregas headed wide with the last effort of the opening 45 minutes.
The visitors made a second change at the start of the second 45 with young Brazilian Kenedy replacing Baba at left back, with Saints as-you-were.
It remained an open, yet fiercely competitive match as Chelsea set about finding an equaliser as quick as they could.
However, they were frustrated in their early attempts, with Hazard firing wide early on and César Azpilicueta also off target.
The best of the opportunities fell to Costa, who volleyed wide at the far post from Hazard’s cross when he looked likely to do better.
A mad three minutes of bookings for either side punctured that spell of Chelsea chances with Costa the fall guy on most of the occasions which saw him collect a deserved yellow card on 63 minutes.
But after Saints had appeared to weather the storm, a touch of fortune brought Chelsea level, and with it, ended the hosts’ long run of minutes without conceding.
It came in the 75th minute when Fàbregas cut in from the left to deliver a cross towards the on-rushing Hazard, but the delivery had so much whip on it, that the ball ended up finding the back of the net to make it 1-1.
Almost immediately, Saints introduced Sadio Mané for Austin to try and regain the lead, but Chelsea had their tails up to make for a lively conclusion of the contest.
A brief respite from Chelsea’s attacking siege saw Mané flick the ball up invitingly for Graziano Pellè, with the Italian’s shot from range gathered by Courtois, but unfortunately for Saints, it only delayed what sadly appeared to have been coming.
Willian’s dangerous delivery from an 89th-minute corner was headed goalwards by Ivanović, who managed to beat Forster with a firm effort.
The late goal brought with it an end to Saints’ six-game unbeaten run as well as a run of four straight home league wins.
Southampton team (3-5-2): Fraser Forster; Virgil van Dijk, José Fonte (c), Ryan Bertrand; Cédric, Jordy Clasie, Oriol Romeu, Steven Davis, Matt Targett (James Ward-Prowse 89); Shane Long (Graziano Pellè 69), Charlie Austin (Sadio Mané 79). Unused substitutes: Maarten Stekelenburg (GK), Maya Yoshida, Dušan Tadić, Cuco Martina.
Booked: Davis (19), Bertrand (64), Clasie (65)
Goal: Long (42)
Chelsea team (4-2-3-1): Thibaut Courtois; Branislav Ivanović (c), Baba (Kenedy 46), Gary Cahill, César Azpilicueta; John Obi Mikel, Cesc Fàbregas; Pedro (Oscar 7), Eden Hazard (Nemanja Matić 90), Willian; Diego Costa. Unused substitutes: Asmir Begović (GK), Bertrand Traoré, Loïc Rémy, Ruben Loftus-Cheek
Booked: Diego Costa (63)
Goals: Fàbregas (75), Ivanović (89)
Referee: Martin Atkinson
Attendance: 31,688 (including 3,220 away)