The 33rd-ranked Czech saved a match point deep in the third set and needed five of her own before finally pulling out the victory, improving her lifetime record against the Greek to 3-0.
Krejcikova extended her winning streak to 11 after capturing her first career singles title in Strasbourg last week and she will face fellow first-time major finalist Anastasia Pavlyuchenkova for the championship on Saturday.
Krejcikova wins marathon to earn place in championship match
The match started with three straight breaks, the last of those taken by Sakkari and she held to take a 3-1 lead with a gorgeous running forehand at full sprint. Krejcikova would soon break back on the strength of a pair of clattering backhands to level the set at 3-3.
After exchanging further breaks, it was the 33rd-ranked Czech who closed the set stronger, holding to love to put her nose in front 6-5 and after the Greek double-faulted and went long with a forehand, she had two set points, taking the first to claim the lead in the match.
Sakkari sprinted out to a 4-0, double break lead in the second set, but her lead would soon dwindle as Krejcikova won three games on the trot, the last a hold closed out with a 109 mile per hour ace to cut the deficit to 4-3.
Serving for the set at 5-4, the Greek had two opportunities to close it out, but couldn't convert. Her third was set up by a Krejcikova error and she converted after luring the Czech into the net, who missed a volley following a crosscourt backhand by Sakkari.
With the match now at one set all, Krejcikova took a break between the second and third sets, but it was the 17th seed who gained the early advantage, breaking in the third game to go in front 2-1. She saved break points in her next service game and kept up the momentum to eventually lead 5-3.
Krejcikova was gifted a break point when Sakkari missed on a drop shot and a ripping backhand winner meant she converted to level the set at 5-5. The Czech kept her nose in front and held three match points at 7-6, but strong serving bailed her out of trouble.
A fourth match point came the world number 33's way at 8-7 and Sakkari appears to hit long, Krejcikova throwing her arms up in the air in celebration. The umpire comes down from his chair and rules the ball to be good and orders the point to be replayed.
Given a reprieve, Sakkari saves the match point, but when Krejcikova has a fifth chance, she makes no mistake, charging forward and putting away a backhand winner up the line to seal her place in Saturday's final.