Kvitova had not dropped a set in five matches at Roland Garros, but a composed Kenin shattered the seventh seed's hopes of ending a six-year grand slam drought with a hugely impressive 6-4 7-5 win.
Kenin, 21, gave an incredible exhibition of athleticism, skill and steely determination to set up a showdown with unseeded Polish teenager Swiatek in Paris on Saturday.
The Australian Open champion saved 10 break points and Kvitova paid the price for making 31 unforced errors on a windy Court Philippe-Chatrier as the American stayed in the hunt for a second major title of the year.
Sprightly fourth seed Kenin took the upper hand when she broke in the third game, Kvitova looping a forehand beyond the baseline at full stretch and she led 4-1 as the left-hander's errors mounted.
Two-time Wimbledon champion Kvitova broke for the first time in the next game, but Kenin got herself out of a hole to hold for a 5-3 lead after saving a break point.
The Moscow-born youngster, whose backhand was a potent weapon, served out the set from 0-30 down with assistance from more wayward Kvitova groundstrokes and incredible defence.
A resolute Kenin hung in there to level at 2-2 in the second set, fizzing a sublime cross-court winner under pressure, after fending off another break point.
Kenin broke in the next game after showing her range of strokes, including an exquisite drop shot return, and strength of mind, which was required in abundance again when she saved another four break points in a marathon game prior to going 4-2 up.
A nervy Kenin was broken when she had a first opportunity to serve out the match but secured her place in a second grand slam final after Kvitova failed to hold.