Jabeur was a set and a break up at 4-1 when she seemed to tire in her eighth match in as many days, allowing Kasatkina to win 2-6, 7-6 (3), 6-4 with vocal support from the home crowd.
The exhausted Jabeur served the last game with severe cramp and tears in her eyes.
"I saw you gave everything today and this is what sport is about," Kasatkina told Jabeur.
"When I was a little girl 10 years ago, I was coming to this tournament and dreaming of being champion one day," the 21-year-old Russian said. "Thank you to everyone who believed in me."
Sixth-seeded Kasatkina ended a run of three losses in finals, including last year's Kremlin Cup, and has a career 2/3 record. Her previous win was in Charleston in April 2017.
Jabeur played high-risk tennis, with 45 winners and 65 unforced errors, against 12 winners and 26 unforced errors for the defense-first Kasatkina.
Russian competitors have won the women's Kremlin Cup four times in the last five years, with Germany's Julia Goerges beating Kasatkina in last year's final.
Jabeur, the junior French Open champion in 2011, was the first Tunisian to reach a women's tour final and the first African finalist since South Africa's Chanelle Scheepers in 2014.
"I wanted to win today but it's not meant to be. Maybe it's a little bit lack of experience, but this is my first final so hopefully I can have many more," Jabeur said. "Not a chance for me in the third set, cramping."
Qualifiers have played four WTA finals this year and lost them all.
Kasatkina came back from the brink of defeat in the second round when she broke Alize Cornet's serve to stay in the match.
Mannarino was 5-3 down in the second set before winning four straight games to close out the match.
The Frenchman has lost all five of his career finals and will play Karen Khachanov for the title Sunday.
The third-seeded Khachanov won an all-Russian semifinal over Daniil Medvedev 6-1, 6-7 (5), 6-3 to reach his third career final.