Ostapenko, the world number 47, is the first unseeded player to reach the final at Roland Garros since Mima Jausovec in 1983.
The Latvian, who turned 20 on Thursday, is also the youngest woman to advance to the final of a major since a 19- year-old Caroline Wozniacki finished runner-up at the 2009 US Open.
"I am really happy. I love to play here, I love you guys, you're amazing. I'm just happy with the way I celebrated my birthday!" said Ostapenko as the crowd sang 'happy birthday' to her.
For 30th-seeded Bacsinszky it was a second semi-final defeat in three years in Paris.
More From This Section
"Of course I'm disappointed. I'm a competitor, and it really annoys me not to be in the final," said Bacsinszky, who was beaten on her 28th birthday.
"I'm not ashamed to say that she played better. She was braver. She had more courage. She was more successful."
Ostapenko fell in the first round on her main draw debut in Paris last year but is one win away from becoming the first player since Gustavo Kuerten in 1997 to win their maiden tour-level title at a Slam.
Bacsinszky, who was beaten in three sets by eventual champion Serena Williams on her previous trip to the last four, broke Ostapenko for an early 2-0 lead.
But the Latvian took the challenge to Bacsinszky with her aggression, nipping ahead at 4-3 before the Swiss called for the trainer.
Bacsinszky complained of a problem above her right knee after jarring her foot in the clay and resumed play with her leg heavily taped.
Ostapenko faltered when she tried to serve it out at 6-5, but the Latvian took the tie-break with a swinging backhand volley.
Bacsinszky pounced as Ostapenko's radar misfired to break for 4-3 in the second set before the Latvian gifted it to her with a double fault on set point.
But Ostapenko's fearless approach paid off after a series of breaks to start the decider, the Latvian landing the crucial blow to pull 4-3 ahead before sealing victory in two hours and 25 minutes.
Her successful all-or-nothing approach saw her fire 50 winners and 45 unforced errors against Bacsinszky.