The Serbian top seed, who was beaten comprehensively by Daniil Medvedev in his second round-robin match, was again below his best in London but did enough to win 6-3, 7-6 (7/4).
Daniil Medvedev will meet Rafael Nadal in the other semi-final clash.
Not that a 57th career meeting is a formality, far from it.
The 24-year-old Russian will face Rafael Nadal on Saturday, as the 20-time grand slam champion is still await for a trophy of the year-ending tournament.
The tournament is being held at the O2 Arena in London for the last time before it moves to Turin in 2021. "I have tremendous respect for Sascha, a great player and not easy to return 140mph first serves".More news: CA Gov. Gavin Newsom Issues Stay-at-Home Order Amid Rising COVID Cases
"I think it was pretty much clear we're not gonna have any crowd".
Djokovic handed Zverev a break point in the fourth game of the second set after double-faulting but the German could not capitalise. "But I guess it wasn't developed and it wasn't there because we just did not have the cases like this", said Djokovic, who used to be president of the ATP's player council before he resigned earlier this year.
Djokovic reached the semifinals of the event for the ninth time.
He said: "This is the dream semi-finals, you have the three Grand Slam champions because we didn't play Wimbledon this year".
However, Zverev began to find his rhythm as the match progressed and his first serve began dominating proceedings.More news: Moderna COVID-19 vaccine stability eases distribution challenges
Zverev - the only man to beat Djokovic, Nadal and Roger Federer at the tournament - was below his best in his first two matches, although he rejected suggestions that the focus on serious assault allegations made by an ex-girlfriend, which he strongly denies, was having an effect on him.
While Thiem poses a huge threat to Djokovic's ambition, Nadal will have to overcome the week's outstanding performer in Medvedev.
"This is a ideal finish to the season considering what everybody's had to go through this year".
Initially, the ATP Finals organization initially scheduled the match at 3:00 p.m., a match that will broadcast #Vamos, but he must confirm the time this Friday: today Medvedev plays against Schwartzman (first classified against eliminated) at 21:00, so the Russian would have, despite winning his group, only 16 hours of rest for the momentous duel.More news: Accused Kenosha shooter Rittenhouse says he used stimulus money to buy gun