Belinda Bencic let anger fuel her progress to the semi-finals of the bett1open in Berlin on Friday.
Bencic – the fifth seed – needed a third-set tie-break to see off Ekaterina Alexandrova 6-4 4-6 7-6 (7-4).
The Swiss will face Alize Cornet at Steffi Graff Stadion in Saturday's semi-final, after the latter upset two-time grand slam winner and world number 13 Garbine Muguruza – similarly going the distance to prevail 4-6 6-3 7-6 (7-5) and saving match point at 5-4 in the tie-break.
Bencic had lost two of her previous three encounters with Alexandrova and conceded to having problems with her opponent's playing style after a fired-up performance at the WTA 500 event.
"I have to get mad," she said. "When I'm mad, I play better, I'm just hitting the ball. So I'm trying to get mad on court."
"I definitely don't like playing her," said Bencic afterwards. "There's not so much rhythm, she's very aggressive player, it's tough to stay in the rally. I would say I'm more relieved [to reach the semi-finals].
The other semi-final pits two-time slam champion Victoria Azarenka against qualifier Liudmila Samsonova.
Former world number one Azarenka battled to see off Karolina Pliskova's conqueror Jessica Pegula 6-2 5-7 6-4, gaining a measure of revenge over a player who dumped her out in the first round of the Australian Open this year.
Samsonova stunned Madison Keys, with a deciding tie-break again required, albeit one that was emphatically dealt with as the world number 106 won 7-6 (7-4) 2-6 7-6 (7-0).