World number one Dinara Safina staged a comeback to beat Italian Flavia Pennetta 3-6, 7-5, 6-0 on Saturday and reach the Stuttgart Grand Prix final where she will face fellow Russian Svetlana Kuznetsova.
Pennetta had punished the Australian Open runner-up with some powerful groundstrokes on the indoor clay court as the Russian struggled with her serve, hitting five double faults in the first set which the Italian won after 35 minutes.
Safina, who topped the rankings on April 20, was broken again as world number 14 Pennetta looked to be cruising to victory with a 3-1 lead.
But the Italian then lost three consecutive games to allow the Russian, who had not dropped a set and had only lost 13 games in her previous three rounds, to level at 5-5.
Safina never looked back, winning eight straight games as her 27-year-old opponent collapsed in the third, to reach her third final after Sydney and Melbourne.
"I was a bit slow starting today," Safina said. "I did not play my best tennis, but I did enough to get through. It was smart to call on my coach, he was pretty angry with me and I changed my game completely after that."
CONSISTENT KUZNETSOVA
Earlier, fifth seed Kuznetsova crushed compatriot and number two seed Elena Dementieva 6-4, 6-2 in just 67 minutes to book her place in Sunday's final.
"I was more consistent than in my other matches," said Kuznetsova, who had struggled with three-set victories in the first and second rounds.
"I was extremely focused. I had to dictate because otherwise Elena will play very aggressively," the world number nine said in a courtside interview.
The former U.S. champion broke Dementieva in the fourth game to lead 3-1 before her opponent levelled.
The 23-year-old Kuznetsova was prepared to take more risks, mixing some unsettling sliced forehands with deep crosscourt backhands to break Dementieva again at 5-4, clinching the set on her third set point.
World number three Dementieva, 27, should have broken her opponent in the first game of the second set when she was up 40-love but Kuznetsova won five straight points to clinch the game and then race to a 3-0 lead with yet another break.
While the 2008 Olympic champion broke straight back, she handed Kuznetsova a second successive service game with a double fault and allowed her to close out the match.