The 20-year old from Montreal, seeded 18th, dropped the final two sets to the seventh-seeded Sharapova, who won the match 4-6, 7-5, 6-2.
Bouchard was trying to become the first Canadian to win a Grand Slam singles title in tennis' post-1968 Open era.
The loss ended a 10-match winning streak on clay for Bouchard, who came to Paris after winning a warmup event in Germany. She also reached the semifinals at the Australian Open earlier this year.
Bouchard and Carling Bassett-Seguso, who lost in the U.S. Open semifinal in 1984, are the only Canadian singles players who have made the final four at a Grand Slam in the Open era.
Sharapova will face the winner of the other semifinal between No. 4 Simona Halep of Romania and No. 28 Andrea Petkovic of Germany.
It's the third straight appearance in the French Open final for Sharapova, who won in 2012.
Known for her fitness, the slender four-time Grand Slam winner has won 26 of her last 27 three-set matches played on clay. She's undefeated in three career meetings with Bouchard.
Sharapova fights back
Bouchard took control of the first set by breaking Sharapova's serve in the third game. Sharapova responded with a break of her own to even the score at 4-4, but Bouchard returned the favour in the next game, punctuated with a powerful forehand winner. The Canadian then survived a break point to close out the set when Sharapova sailed a backhand wide.
In the second set, the players traded breaks early before Bouchard squandered a 40-love advantage with serve, losing the game on a double fault to make it 3-1. Sharapova later wasted three set points, including a pair of double faults, to let Bouchard back in it, and the Canadian went on even the set at 5-5. But Sharapova won the next two games, breaking Bouchard to force a third set.
The deciding set was all Sharapova, with the Russian scoring a key break to go up 3-1.
Bouchard did not go quietly in the final game, staving off four match points before finally failing to return a Sharapova forehand on the final point.