World number one Ash Barty survived a scare to reach the semi-finals of the Stuttgart Open with a 2-6 6-1 7-5 win over Karolina Pliskova.
The Australian started slowly in the quarter-final of the WTA 500 tournament on Friday as Pliskova broke her serve twice in taking the first set, before Barty hit back with three breaks of her own to force a decider.
Barty was two points away from losing on five occasions as world number nine Pliskova served for the match at 5-4 in the final set.
But she broke the Czech's resolve eventually, sealing victory when Pliskova hit the ball long after a baseline rally.
The win was Barty's eighth consecutive victory over a top-10 opponent and she said in a media conference afterwards that facing top players in the world brings the best out of her.
"When you come up against top-10 opponents, you have to go to that level above to be able to compete. They force you to bring your best," Barty said.
"With a lot of the girls in the top 10, we've had plenty of matches that have gone either way, different experiences, so each time I love that challenge of testing myself against the best."
Barty will face Elina Svitolina in the semi-finals after she saved two match points to claim a 6-7 (4-7) 7-5 6-2 victory over Petra Kvitova.
In the other half of the draw, Simona Halep breezed through to the semi-finals with a 6-1 6-4 win over Ekaterina Alexandrova.
Halep clinically closed out the first set, and although Alexandrova showed more fight in the second, the world number three did not allow her a route back into the match.
Halep will face Aryna Sabalenka following the Belarusian's 7-5 4-6 6-1 win over Anett Kontaveit.
In the Istanbul Cup, top seed Elise Mertens secured her place in the semi-finals with a 6-4 6-4 win over Katerina Siniakova.
Mertens will face Veronika Kudermetova who fought back from a set down to clinch a 2-6 6-3 6-3 win over Ana Bogdan.
The other semi-final will see Sorana Cirstea play Marta Kostyuk. Cirstea progressed after Fiona Ferro, trailing 6-4, retired through injury while Kostyuk beat Ana Konjuh 7-5 4-6 6-3.