Novak Djokovic defeated Dominic Thiem 7-6 (2), 7-6 (4) to reach the Madrid Open final for the third time.
Djokovic outplayed Thiem in both tiebreakers, converting on his first match point to set up a final against either Rafael Nadal or Stefanos Tsitsipas, who play later on Saturday.
It will be the second final of the season for the top-ranked Djokovic, who began the year by winning the Australian Open.
A victory on Sunday will give Djokovic his 33rd Masters 1000 title, tying Nadal for most all time.
Djokovic, who won in Madrid in 2011 and 2016, had played only four sets in the Spanish capital this week prior to the semifinal.
He didn't play his quarterfinal match because Marin Cilic withdrew with food poisoning.
The fifth-seeded Thiem had won two straight against Djokovic and was trying to make his third straight Madrid final following losses to Nadal in 2017 and Alexander Zverev in 2018. The Austrian was also trying to become the first player to win three titles this season, adding to triumphs in Indian Wells and Barcelona.