Second seed Maria Sharapova came through a three-hour epic against Sam Stosur to reach the semi-finals of the Porsche Grand Prix in Stuttgart.
The world number two claimed her 10th win in 11 career meetings with the Australian but she had to do it the hard way, coming from a set down after two tie-breaks and a hard-fought deciding set.
Both players' serves held firm throughout the first set, won by Stosur on a tie-break before Sharapova responded in kind after a second set featuring one break apiece.
One more was enough for the Russian to win the decider and wrap up a 6-7(5) 7-6(5) 7-5 victory.
She will face Petra Kvitova, her conqueror in last year's Wimbledon final, after the Czech left-hander cruised past Germany's Angelique Kerber 6-4 6-4.
Kvitova broke three times in a scrappy first set before taking the second with a solitary break.
Top seed Victoria Azarenka was also made to battle hard before downing Germany's Mona Barthel in three sets.
The Belarusian prevailed 6-4 6-7(3) 7-5 in two hours 49 minutes, taking seven of a huge 22 break points en route, but will almost certainly have to improve on that conversion rate if she is to get past Agnieska Radwanska to reach the final.
Polish fourth seed Radwanska came from a set down to beat China's Li Na 3-6 6-2 6-3 in exactly two hours.