In a cagey opening set, each player held on to their services games until very late, with their powerful serves and excellent ground games proving too much for each other.
The tension proved all too much for Thiem at one point as, after losing a game to give Djokovic the lead in the opening set, he tossed his racket off the court into the stands in apparent frustration.
The decisive break came in the 11th game of the tight set, as Thiem eventually edged a Djokovic service game to make the score 6-5. He held on to his following service game to win the opening set and move within a set of a place in the final.
After the short break for the players to catch their breath and take on some nutrients, the second set began in a similar vein, with both players holding serve.
Djokovic, looking stronger as the match progressed, failed to capitalize on any of the break points he crafted for himself, as the second set continued all level.
And as he had done all match, Thiem stepped up during the biggest points of the game, saving two set points in his final service game to take the second set to a tie break.
As was becoming clear, both players struggled to be separated in the tie break. Djokovic raced into a 4-2 lead before Thiem roared back, only for Djokovic to save two match points shortly after.
The pair continued to prevent each other winning the second set, saving match points and set points, before Djokovic clinched the set-winning point as Thiem’s backhand return could only find the net.
In the all-important third set, it was more of the same. Both players held serve as they struggled to break down one another, needing a tie break to decide them once more.
Visit CNN.com/sport for more news, features, and videos
Having raced into a 4-0 lead, Djokovic failed to stop Thiem recovering to level the tie break before the Austrian eventually took the lead.
Djokovic saved one match point but could not save the second as Thiem advanced to the final.
Thiem will face either Daniil Medvedev or Rafael Nadal in the final on Sunday. Medvedev and Nadal play later Saturday.
Dominic Thiem edges Novak Djokovic in thriller to advance to final of ATP Finals The British Journal Editors and Wire Services/ CNN.