Third-seeded Medvedev will face defending champion Andrey Rublev in an all-Russian final that could have political overtones after Rublev reiterated his call for peace.
Medvedev, a former world No. 1, picked up trophies in Rotterdam and Doha before coming to Dubai and beating Djokovic and extending his own winning streak to 13 matches, the second-longest of his career.
Djokovic was competing in his first event since winning the Australian Open for his record-equaling 22nd Grand Slam singles title. He hadn't lost since November when he dropped the Paris Masters final to Holger Rune.
On Friday, Medvedev broke Djokovic twice in the first set and again to open the second, eventually closing it out on his first match point.
"When you play against Novak, you just have to play your best, kind of hope that he doesn't play his best," Medvedev said. "I managed to play a higher level than him today. In the second set, I didn't face one break point, but there were so many 30-30, deuce [games]. I managed to keep composed."
Medvedev hadn't beaten Djokovic since the 2021 US Open final, when he clinched his first and thus far only major title. That win denied Djokovic the first Grand Slam in men's singles since 1969.
Djokovic then won their next four meetings.
But Medvedev improved to 5-3 against Djokovic when the Serbian player is ranked first.
Earlier, Rublev advanced by beating Alexander Zverev 6-3, 7-6 (9) in the other semifinal. Rublev needed six match points to finally put away Zverev for his first tour-level win over the German player.
Rublev had lost all five previous matches against his longtime friend, who reached his first semifinal since the French Open in June.
Sixth-ranked Rublev saved a set point in the second-set tiebreaker.
"Today, when I was going on court, I was thinking I have nothing to lose. He always beat me, so why I need to be tight," Rublev said.
Last year, Rublev beat Jiri Vesely for the title.
Rublev has beaten Medvedev the past two times they squared off, including at the ATP Finals in November. That match is better remembered for Rublev's appeal for peace. He wrote, "Peace, Peace, Peace, All we need," on a TV camera lens. He made a similar appeal shortly after Russia's invasion of Ukraine just over a year ago.
On Friday, Rublev renewed that message.
"It's crazy that so many just normal citizens are suffering, dying," he told reporters. "The only thing I hope that soon there is going to be peace in every country. It doesn't matter where."
Rublev paid tribute to the late Soviet rock star Viktor Tsoi, writing "Tsoi is alive" on the courtside TV camera lens. Tsoi's lyrics "gave a lot of hope to the people" in the 1980s, Rublev said.