Carlos Alcaraz's bid for a third straight title at the Madrid Open was ended by Andrey Rublev.
Russian seventh seed Rublev rallied from a set down in the quarter-final to win 4-6 6-3 6-2 and break Alcaraz's 14-match winning streak in the Spanish capital.
The 20-year-old second seed was aiming to become the first player to win three consecutive Madrid Open singles titles.
Rublev will face American 12th seed Taylor Fritz or Argentina's Francisco Cerundolo for a place in the final.
After a gruelling win against Jan-Lennard Struff that lasted just under three hours on Tuesday, Alcaraz struggled to find his best form against Rublev.
The two-time Grand Slam champion missed clay court events in Monte Carlo and Barcelona earlier this month due to a right arm injury and, despite taking the opening set, he looked tired against Rublev, who fired home 30 winners.
The win ends a four-match losing streak for Rublev, who has won just one ATP 1,000 title in his career.
Meanwhile, Alcaraz's exit is further blow to Spain's home hopes in Madrid after five-time champion Rafael Nadal lost to Jiri Lehecka on Tuesday in what was likely to be the 37-year-old's last appearance at the tournament.
In the women's draw, Elena Rybakina booked her semi-final spot after fighting back from a set down to beat fellow Kazakh Yulia Putintseva 4-6 7-6 (7-4) 7-5.
The fourth seed, who won Wimbledon in 2022, will take on world number two Aryna Sabalenka or 17-year-old Mirra Andreeva, who play later on Wednesday.
"We'll see who wins. If it's Aryna... she's a great champion. It'll be a tough battle like we always have," Rybakina said.
"If it's Mirra, she's young and she has nothing to lose. These kinds of players are very dangerous. You never know what to expect."