Italy's world number two Jannik Sinner beat Holger Rune 6-4, 6-7(6), 6-3 in the quarter-finals of the Monte Carlo Masters on Friday after his Danish opponent saved two match-points.
Top seed Novak Djokovic also advanced to the semis after a hard-fought 7-5, 6-4 win over Australian 11th seed Alex de Minaur.
This is the 36-year-old Serb's first semi-final since 2015, making him the oldest semi-finalist in the tournament's history. Djokovic also surpassed Rafael Nadal to make a record 77 Masters 1000 semi-final appearances.
"It was tough for both of us. He's one of the quickest players on tour. He gets a lot of balls back that 99% of players don't," Djokovic said. "He did surprise me in several passing shots.
"He said at the net that it was ugly, in the second I think we didn't play really at the high level. Again, win is a win; glad to go through.
"I'm very happy to be back in the semis, it's been a while. I love this tournament... another semis, look forward to it."
Djokovic will next face Norwegian eighth seed Casper Ruud, who beat Frenchman Ugo Humbert 6-3, 4-6, 6-1.
Rune beat Sinner in the semi-finals last year but this time it was the second seed who prevailed as he reached a fifth semi-final in as many tournaments this year.
Rune had played two matches on Thursday, first finishing his rain-affected clash with Sumit Nagal before a 3-1/2 hour thriller with Grigor Dimitrov where he saved two match-points, with both games going the distance.
He looked far from fatigued as faced the Australian Open champion in bright sunshine but the 20-year-old also took on the crowd, who jeered and whistled at him while he also argued with the chair umpire over a line call.
"Playing against him is never easy, especially in such occasions. I'm very happy I won today, but mostly about my physical level - I raised it today," Sinner said.
"This can happen (Rune taking on the umpire and crowd), there's nothing wrong with all this. You can make a little bit chaos, but it's all part of the learning process."
Sinner took the first set and looked destined to seal a straight-sets victory at 6-4 in the second set tiebreak, but Rune saved two match points once again -- one with a superb cross-court forehand winner -- before levelling the tie.
The final set went with serve until 4-3 when Sinner converted the decisive break point after Rune made a costly double-fault and the Italian held his nerve to serve out the contest.
Sinner will face 12th seed Stefanos Tsitsipas, who beat Karen Khachanov 6-4, 6-2 in a rematch of last year's Australian Open semi-final as the Greek looks to return to form after a mixed record in 2024.
Tsitsipas arrived at the tournament with a 11-6 win-loss record this year but has fond memories of the Monte Carlo Masters where he won the title in 2021 and 2022.
Bolstered by a strong first serve, Tsitsipas put Khachanov to the sword by converting four break points to end his run and improve his head-to-head record against the Russian to 8-1.
"I would lie if I said it doesn't bring good memories stepping out on this court... It's something that I attribute some of my performances here over time to," Tsitsipas said.
"I come back here and I sort of relive those memories of the past. It gives good feelings to me when I'm able to play in front of crowds like this and be able to try and strive for excellence with my game."