Vesnina raced to a 5-0 lead in the first set and then dropped three straight games before serving out the first set. In the second set, she built a 5-1 lead and again lost three games in a row before closing out the victory on her serve.
"In doubles I won three times title here and singles it was just not going this way,'' Vesnina said. "So finally, this year, after all these years, I'm in the final.''
Vesnina will play No. 8 Svetlana Kuznetsova in an all-Russian final on Sunday. Kuznetsova beat No. 3 Karolina Pliskova 7-6 (5), 7-6 (2). At 31, Kuznetsova, a two-time major champion, is the oldest player left in the women's draw.
"I was looking to defend good because I know I can move good. It's very hard to overpower here,'' Kuznetsova said. "Definitely my serve helped me.''