A fuming Djokovic, who looked to have control of the contest in the early going of the Cincinnati Masters semi-finals, was caught out when Medvedev stepped things up in the second set.
Cincinnati: World number one Novak Djokovic wilted under pressure from Daniil Medvedev, falling 3-6, 6-3, 6-3 to the ninth-seeded Russian in the Cincinnati Masters semi-finals.
Medvedev's upset win on Saturday sent him into a title showdown with another unexpected finalist, 16th-seeded Belgian David Goffin, who defeated France's Richard Gasquet 6-3, 6-4 to reach his first ATP Masters 1000 final.
A fuming Djokovic, who looked to have control of the contest in the early going, was caught out when Medvedev stepped things up in the second set.
"I don't know how I turned it around, I was so tired after the first set and I thought I might not be able to keep up the intensity," said Medvedev, who has competed in 15 hardcourt matches since July 30.
"But I had a momentum chance in the second set and the crowd gave me energy," added the Russian, who will be playing his second Masters series final in eight days, after falling to Rafael Nadal in Montreal last Sunday.
"Novak had been destroying me on second serve, so I just went for it," Medvedev said.
"It's a great feeling to win and beat the number one. That shows I deserve to be in this final.
"I played an unbelievable match, I'm very happy."
Medvedev also beat Djokovic in their last meeting, on clay at Monte Carlo in April.
Djokovic, the defending champion who was playing his first tournament since his Wimbledon triumph in July, shouldered his bag and left the grounds within moments of his defeat.
Medvedev won 12 of the last 14 points in the second set to square the match against Djokovic, then ran up a 3-1 lead in the third on the way to victory on his first match point.
He's 1-1 against Goffin, with both of their matches played this season -- at the Australian Open and Wimbledon.
Read Exclusive COVID-19 Coronavirus News updates, at MyNation.