Daniil Medvedev denied Novak Djokovic a 21st consecutive win to set up an all-Russian final against Andrey Rublev at the Dubai Tennis Championships.
Djokovic had started 2023 by coming out on top in all 15 of his matches and winning the Australian Open, with his overall winning streak standing at 20 games.
But Medvedev ended the world number one's perfect start to the year with a superb display to take a 6-4 6-4 triumph on Friday.
The 27-year-old, who himself made it 13 consecutive wins, broke Djokovic twice on the way to taking the opening set.
Medvedev's high standard of play continued in the second, breaking Djokovic in the first game before holding in all five of his service games to secure a straight-sets victory.
"When you play against Novak you just have to play your best," Medvedev said after the win. "Kind of hope he doesn't play his best on the day because when he plays his best, well he has 22 grand slams, so even if you play your best, it is going to be tough, not sure you win.
"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 games. But I managed to stay composed and I am happy to be in the final tomorrow."
That was something special— ATP Tour (@atptour) March 3, 2023
Medvedev heads to the finals, taking Djokovic out in straight sets 6-4, 6-4… @ddftennis | #DDFTennis pic.twitter.com/Hdey2Qx82L
His win means he will face countryman Rublev in the final after the reigning champion kept his hopes of retaining the title alive with a 6-3 7-6 (11-9) success over Alexander Zverev.
Rublev had never previously won a match or set against Zverev in five previous meetings, but won three of the German's service games in the opener to go a set ahead.
The second seed was out-aced nine to two in the second set but managed to force a tie-break, going on to survive a set point before eventually securing the win on his sixth match point.
Rublev will look to join Roger Federer and Djokovic as only the third repeat champion at the tournament when he takes on Medvedev in Saturday's final.
The compatriots have met six times previously with Medvedev winning four of them, though Rublev has taken victory in their last two match-ups.