The 21-year-old was a surprise winner of the Australian Open in January but has already shown that was no fluke with her run here.
She played a hugely intelligent match to defeat seventh seed Kvitova 6-4 7-5 and will take on 19-year-old Iga Swiatek in the trophy decider on Saturday.
Kvitova had hoped to reach her first French Open final three years after making her comeback to the sport in Paris following the horrific stabbing she experienced in her home in December 2016.
She became emotional on reaching the quarter-finals as the enormity of the journey she has been on sunk in and she had not dropped a set prior to this match but struggled in windy conditions.
The Czech was quickly 4-1 down and, although she improved, she was unable to prevent Kenin winning the opening set.
Kvitova, by far the most experienced of the four semi-finalists, put Kenin under pressure early in the second set but could not find the consistency she needed to break serve.
It was Kenin who forged ahead with a break for 3-2, and she then saved four break points as Kvitova looked to hit back immediately.
Kenin had shown grit as well as guile but suddenly faltered trying to serve out the match, allowing Kvitova to level at 5-5.
She swiftly recovered from the disappointment, though, to earn herself another chance and this time she took it.
Kenin is looking to become the first woman to win more than one slam title in a season since Angelique Kerber won in Melbourne and New York in 2016.