Vesnina needed only 69 minutes to beat the 19-year-old Stephens and reach her seventh WTA final.
Barthel, of Germany, beat Kirsten Flipkens of Belgium 6-4, 6-4 in the other semifinal.
Vesnina controlled the match from the outset, breaking Stephens in the opening game and racing to a 5-0 lead in less than 20 minutes.
Stephens saved three set points in a brief rally, but couldn't break Vesnina's dominance.
"I can say this is my time," Vesnina said. "I've played so many finals before and I've been a little bit unlucky in the past. I'm feeling like I'm at home here."
Vesnina's last final was in Budapest last year when she upset three seeded players on the way to a close loss against Italian Sara Errani.