The eighth-seeded Cibulkova reaches her second straight final after losing to Petra Kvitova in Linz, Austria, on Sunday. The 20th-ranked Slovak, who is winless in three WTA final appearances, will face either Kaia Kanepi of Estonia or Lucie Safarova of the Czech Republic on Sunday.
Cibulkova dominated her 64th-ranked Russian opponent, scoring seven break points and taking it on the first match point when Vesnina smashed into the net.
"I started very well and was playing too fast for her and that's why she (Vesnina) was making mistakes," Cibulkova said.
Vesnina had advanced to her first semifinal at the home event after Marion Bartoli of France withdrew with a viral illness from their quarterfinal match on Friday.
"A day off hasn't helped me," Vesnina said. "A couple of close games in the first set but I played with no confidence."
Cibulkova beats Vesnina to reach Kremlin Cup final
Advertisement