Andreeva, who turned 19 on Wednesday, will face Marta Kostyuk or Anastasia Potapova in the final of the clay-court tournament, with the two set to face off later in the day.
"I feel so much adrenaline inside, I feel like I'm still nervous," Andreeva said in the post-match interview.
"Honestly, I'm just so happy that I won... I'm very happy with how I served today."
Baptiste had shocked world number one Aryna Sabalenka in the quarter-finals, but the 24-year-old struggled as ninth seed Andreeva conceded only two points on serve in the first set.
The American stood firm until the seventh game, when Baptiste's forehand landed wide, handing Andreeva a break point. The former French Open semi-finalist sent a perfect backhand down the line to earn the decisive break that sealed the set.
Baptiste, who made 16 unforced errors in the first set, continued to struggle in the second, handing Andreeva a break for a 3-2 lead.
But the American fended off a match point in the ninth game before Andreeva, serving for the set, double-faulted and botched a smash before Baptiste landed two perfect winners to get her first break of the match, making it 5-5.

The second set reached a tiebreak, and a newly confident Baptiste won four points straight before Andreeva fought back with precise backhands near the sidelines and saved three set points.
Baptiste fired down an ace to save a match point, but hit a return long as Andreeva clinched victory, reaching the final of a WTA 1000 tournament for the third time after winning the Dubai Championships and the Indian Wells Open last year.
