Aryna Sabalenka gave herself an early birthday gift by easing into the Madrid Open final for the second time in three years on Thursday and then plotted revenge on world number one Iga Swiatek.
The world number two turns 25 on Friday and the Belarusian celebrated in style by breezing past Greek world number nine Maria Sakkari, 6-4, 6-1.
Sabalenka, the 2021 champion in Madrid, will face Swiatek in Saturday's championship match after the French and US Open winner swept aside 13th-ranked Veronika Kudermetova 6-1, 6-1.
Reigning Australian Open champion Sabalenka will be chasing a fifth WTA 1000 title, a 13th career title overall and third in 2023.
She will have the opportunity to avenge her straight-sets defeat to Swiatek in last month's Stuttgart championship match.
"I really want this revenge," she said. "It would be really great to be able to defeat a player like Iga on clay.
"In Stuttgart, I was rushing on the short balls, I tried too hard for the winning shot. This time, I played with more patience and waited for the right ball to finish the point."
Top seed Swiatek enjoys a 5-2 win-loss record against Sabalenka, having also won the pair's three previous clay-court meetings.
In the men's quarter-finals, Jan-Lennard Struff stunned world number five Stefanos Tsitsipas to become only the third lucky loser to reach the semi-finals of an ATP Masters event.
The 33-year-old German, who had lost in the qualifying round before being allotted a place in the main draw, triumphed 7-6 (7/5), 5-7, 6-3.
He will now face Russian qualifier Aslan Karatsev in Friday's semi-finals.
"It feels amazing. It was a very, very hard battle. I knew before, I needed to perform at my best," said Struff who, ironically, had lost to Karatsev in qualifying last weekend.
The other semi-final sees defending champion and world number two Carlos Alcaraz, who will celebrate his 20th birthday on Friday, facing Borna Coric of Croatia.
Struff, ranked at 65 in the world, follows Thomas Johansson at Toronto in 2004 and Lucas Pouille at Rome in 2016 as a lucky loser to reach a Masters semi-final.
"Aslan is playing amazing this week so far and he beat me pretty easily in qualies. I didn't play the best tennis in that match," added Struff.
Karatsev won the battle of the underdogs when he edged Zhang Zhizhen 7-6 (7/3), 6-4 to make the last four.
Karatsev, the Russian ranked 121 in the world, had to come through qualifying in the Spanish capital.
Zhang, ranked 99, was the first Chinese player to make an ATP 1000 event last eight.
Between them the two men had knocked out six seeds to reach the quarter-finals with Karatsev dropping only one set in seven matches, as he eliminated second seed and compatriot Daniil Medvedev in the round of 16.
On Thursday, Karatsev kept his nerve better at key moments and saved all three break points he faced in the first set before winning the tie-break.
He immediately broke in the opening game of the second set before going on to win in one hour and 40 minutes.
Karatsev, 29, reached the Australian Open semi-finals in 2021 but had never previously made the last four in a Masters 1000 event.
He climbed to 14th in the rankings in early 2022 before sliding.
"I started the year inside the top 100, then I dropped and lost some matches. You have to keep going and believe," Karatsev said.