World number one Naomi Osaka was beaten by Belinda Bencic as the Swiss fought back from a set down to reach the Madrid Open semi-finals.
The Japanese led by a break in the final set and served for the match, but Bencic broke back to win 3-6 6-2 7-5.
Bencic, ranked 18 in the world, saved eight of 12 break points as she secured her second victory over Osaka in 2019.
The 22-year-old will play world number three Simona Halep next after Halep’s quarter-final win over Ashleigh Barty.
Halep, a two-time champion in Madrid, beat Australian ninth seed Barty 7-5 7-5.
Bencic, who ended two-time Grand Slam champion Osaka’s Indian Wells title defence in March, produced some fine returns to come through a tight final set.
Top seed Osaka broke in the fifth game of the deciding set and held off two break points in her next service game to retain her advantage.
However, she faltered as she served for the match at 5-4 and Bencic broke to love to level the set at 5-5.
The Swiss, who won the Dubai Championships in February, then won the next two games to close out an impressive win.
For a better society