Theo Walcott, who returned to Saints after nearly 15 years away, stepped up in the absence of Stuart Armstrong to combine with Vestergaard to rescue a point.
Danny Ings and Che Adams cancelled out Chelsea’s early two-goal advantage built through Timo Werner, which seemed poised to put the hosts in pursuit of a runaway victory.
But Saints averted disaster following a sluggish start that also saw Alex McCarthy make a double-save inside three minutes of kick-off.
Ings pulled one back just before halftime after he rounded Kepa Arrizabalaga before slotting into an empty net.
It was a second error for the Chelsea defence that allowed Che Adams to draw Southampton level following a goal-mouth scramble that left Arrizabalaga sprawled on the ground.
Ings was deneid his second goal of the match, but Adams cleaned up the mess and hammered a shot into the roof of the net for his first tally of the 2020/21 league campaign to make it 2-2.
But Kai Havertz restored Chelsea’s lead just two minutes later when he linked up with Werner after Christian Pulisic had sprung the forward free in the box.
Saints weren’t done fighting and Adams came close to his second only to roll a low shot beyond the post.
A late free-kick inside the Chelsea half proved vital with the initial ball working its way to Walcott and the forward thrashed at an effort that was glanced goal-ward with a low header by Vestergaard.
Walcott’s jubilation was met instantly by captain James Ward-Prowse before the winger found the grasp of the goalscorer with Southampton extending their unbeaten run to three games at full-time.
Ralph Hasenhuttl reflects on a point gained via Southampton FC:
“It was very intense and for our side it was a tough game in the first half against a strong side.
“We made a few silly mistakes and were not active and aggressive like we usually are, but it’s always difficult when players are coming back and haven’t had time to prepare.
“The second half was much better. We played quite well and a had a few very good chances and deserved a point in the end.
“It was important after the last two wins that we had a positive result and a point here is always good, especially when you’re two down and then again down.
“But today, every point is a good point to take.”
Jannik Vestergaard on his late goal via Southampton FC:
“Based on the second half [it] is deserved. They asked a lot of questions that we couldn’t answer early on. We created a lot of chances as the game went on and conceded much less.
“We were good in possession and pinned them back on occasions. To score in stoppage time may seem lucky but all in all it’s fair that we get this result.
“I’m a bit out of practice with the celebration, I was looking for the away corner with the fans. Obviously there still aren’t fans in the stadium at the moment so that was a bit disappointing, but it was a great feeling to help the team to get the point.
“It was a matter of guiding it towards goal. Make it difficult for the goalie. I feel good, I feel confident. When everyone contributes it makes your individual job so much easier.”
Chelsea (4-2-3-1): Arrizabalaga; Chilwell, Zouma, Christesen, Azpilicueta; Kante, Jorginho; Mount (Ziyech 72), Havertz, Pulisic (James 87); Werner (Abraham 90)
Unused subs: Caballero (GK), Tomori, Hudson-Odoi, Giroud
Goals: Werner (15, 28), Havertz (59)
Bookings: Chilwell (45)
Southampton (4-4-2): McCarthy; Bertrand, Vestergaard, Bednarek, Walker-Peters; Redmond (Tella 77), Romeu (Diallo 87), Ward-Prowse, Walcott; Ings, Adams (Long 86)
Unused subs: Forster (GK), Valery, Stephens, Obafemi
Goals: Ings (43), Adams (57), Vestergaard (90+3)
Bookings: Romeu (84)