Defending champion Mona Barthel of Germany also reached the semifinals, beating Tsvetana Pironkova of Bulgaria 6-3, 6-3. Barthel will play Kirsten Flipkens of Belgium, who beat Monica Niculescu of Romania 2-6, 6-4, 6-0.
"I had to be smart and in the wind you have to use it like a weapon," Vesnina said.
The 22-year-old Barthel said she's "improved a lot" as she begins her second season on the WTA Tour.
"I feel like I learned so much last year, playing all these tournaments and playing against the top players," Barthel said. "My serve has got better and I feel like my groundstrokes are better ... but maybe a little more confidence this year."
The final is scheduled for Saturday at the Domain Tennis Centre.