Seventh-seeded Kudryavtseva broke the fourth-seeded Vesnina in the seventh game of the first set.
After an exchange of breaks midway through the second set, Kudryavtseva broke again in the seventh game and closed the match, firing an ace on the first of her two match points.
Kudryavtseva was the runner-up in Guangzhou, China, last weekend.
It was Vesnina's second defeat in a final this season. She lost to another compatriot, Anastasia Pavlyuchenkova, in Istanbul in July.
In Seoul, top-seeded Nadia Petrova withdrew from the semifinals of the Korea Open on Saturday, leaving Czech opponent Klara Zakopalova with a place in the final against Russian Alisa Kleybanova.
Petrova was trailing 5-4 in the opening set when the Russian decided that she couldn't continue due to illness, putting the 39th-ranked Zakopalova in Sunday's decider at Seoul Olympic Park.
Fifth-seeded Kleybanova defeated eighth-seeded Agnes Szavay of Hungary, 6-3, 6-2 in the other semifinal. The first set lasted 62 minutes, partly due to Kleybanova needing six deuces to hold her serve in the opening game.
"In the first set, especially at the beginning of the set for a couple of games, we had many deuces and advantages. It was tough, really tough," Kleybanova said. "I wasn't thinking about winning or losing, though, I just tried to focus on each point." The 28th-ranked Russian is aiming for her second career title after winning in Kuala Lumpur earlier this year.
In Metz, France, eighth-seeded Gilles Simon of France beat No. 6 Philipp Kohlschreiber of Germany 6-3, 6-2 Saturday to line up an Open de Moselle final against German qualifier Mischa Zverev.
Zverev advanced to his first career final when No. 4 Richard Gasquet of France withdrew because of a fever.
Simon broke Kohlschreiber three times to reach his first final since winning on hard courts at Bangkok last year for his sixth career title.
Simon needed five sets to put away Kohlschreiber at the US Open last month, but won this time without conceding a break chance in just 54 minutes.
The 23-year-old Zverev is the first qualifier to reach an ATP Tour final this season and the lowest-ranked finalist at 155.
In Bucharest, Romania, unseeded Pablo Andujar beat fellow Spaniard Marcel Granollers 7-6 (5), 4-6, 6-4 Saturday to reach a BCR Open Romania final against fourth-seeded Juan Ignacio Chela of Argentina.
Andujar needed more than three hours to reach Sunday's championship.
Chela had a much easier time, defeating top-seeded Albert Montanes of Spain 6-1, 6-3. Montanes played a lackluster match and failed to capitalize on his service games.
