Image credit: Getty Images
Yastremska saved a championship point on her way to the title with the 19-year-old putting on a fearsome display of firepower in a match lasting a minute short of three hours.
"You've always been my idol, thank you for this match," Yastremska said.
"I was here two years ago and I lost in the first round. I almost lost at match point today but I'm happy to win."
Garcia took an early lead in the opening set but Yastremska fought back to level at 3-3 with powerful baseline shots.
Caroline Garcia à Strasbourg
The Ukrainian stepped up her game to take the set with a mixture of baseline rallies and occasionally coming to the net to outfox her opponent.
Yastremska's devastating forehand kept her in control in the second set and she held a 5-3 lead which gave her a chance to serve for the title.
Garcia saved two championship points, however, and forced a deciding set as Yastremska double-faulted.
After a tense final set Yastremska dominated the tiebreaker to join Kiki Bertens, Karolina Pliskova and Petra Kvitova as the only women to have won two titles this year.
Round 7, Eugene
Round 3, Kitzbuhel