20-time grand slam champion Nadal looked to be cruising after the first set, but was quickly down 3-0 in the second set.
Thiem led the second-set tie-break but Medvedev reeled off seven points in a row to force a decider and came through a tight final set to ensure victory.
Thiem was the runner-up at this event last season, but 2020 has already been a year of firsts for the 27-year-old who won the US Open.
"I've known Sascha (Zverev) for a very long time since he was very young", he said. The most sensible result to call would be that this goes to a deciding set as the conditions, without spectators, make for lapses in concentration and sudden swings in momentum, just as we saw in both semi-finals. I'm just hoping I can start off the match as well as I did today.
Earlier, in the other semi-final, Thiem had edged world number one Novak Djokovic 7-5, 6-7 (12-10), 7-6 (7-5) to reach the final of the year-ending tournament for the second consecutive year.
Sunday's championship match at the Nitto ATP Finals is a massive deal and it will also reveal who among Dominic Thiem and Daniil Medvedev is most likely to threaten Novak Djokovic's hold on No. 1 in the future. He will face the victor of last night's second semi-final between Nadal, who he defeated in the group stage, and world number four Daniil Medvedev. Of course, I mean, obviously I'm not supporting any kind of violence.
And he completed victory on his first match point to seal a maiden win over Nadal.
Thiem also needed three sets to reach the final, and his clash with Serbian world number one Djokovic lasted 2 hours 54min. "It was fantastic, and it's not gonna be like that in every match". "I always had a great relationship with him, he's a very nice guy".
"It's going to be the last match of a very special, of a very tough year for everybody, I guess".
"I felt really unusual until 5-4 for him in the second set, when he was serving for the match", said the fourth seed, who lost all three of his matches on his debut at the season-ending tournament a year ago. "I think he played some good points and I made a couple of mistakes", Nadal said.
The 23-year-old said: "Unfortunately I lost a lot of big matches". He was better in the important moments, I couldn't return in the important moments, I couldn't make a good shot in the important moments.
However, Thiem did have a chance to take the second set, racking up two break points in the seventh game thanks to his deep hitting.
By the start of the third set, Medvedev had struck twice the number of total winners and made just three more unforced errors than Nadal, suggesting that Medvedev's aggressive, courageous play was additionally accurate. "Anyway now we're going to have again a first-time victor, no matter what happens in the second semi-final".
I think Medvedev uses just enough variation to confound Thiem and get him off his game.