The Russian, who had lost in all four of her previous tour-level semifinals, hit 21 winners and broke the Ukrainian's serve five times as she will face fourth seed Aryna Sabalenka in the final.
Kudermetova makes it fifth time lucky, holds off Kostyuk to seal spot in final
Kostyuk struck first in the fourth game of the match, breaking Kudermetova to love after the Russian netted a backhand to give the 18-year old a 3-1 lead.
Unfazed, Kudermetova ran off the next four games of the match, the last of those sealed with a backhand error by Kostyuk as the world number 46 stood within a game of the opening set.
Playing in her first career tour-level semifinal, Kostyuk rallied to break Kudermetova as the Russian served for the set. A tiebreak would eventually ensue and it was Kudermetova who claimed it 10-8 after Kostyuk missed on a backhand.
A forehand winner tucked into the corner gave the Russian an early 2-0 lead in the second set only to once again see Kostyuk recover the deficit and get back on serve at 3-2.
It was short-lived momentum as Kudermetova fired off another forehand winner to break at love and she would serve for the match at 5-3, but a bad dropshot on break point once again put the teenager on serve.
Kudermetova had two match points in the next game, but Kostyuk fought them both off. On her third chance, the Russian withstood a barrage of forehands until the Ukrainian hit one long and the world number 46 had finally broken through to her maiden final.