Garcia won her first WTA crown for three years by recovering to win a close encounter 6-7 (5-7) 6-4 6-4.
Andreescu went into the final as the strong favourite, a position she strengthened by narrowly claiming the first-set tie-break, but Garcia battled back to improve her impressive career record in finals to 8-3.
She claimed her first trophy since winning on the Nottingham grass in 2019, the same year as Andreescu's famous Flushing Meadows triumph.
Andreescu was playing in her sixth career showpiece, having enjoyed a standout week at the WTA 250 event. The Canadian did not drop a set en route to the final, which included beating No.1 seed Daria Kasatkina.
But defeating the battling Garcia, who had saved a match point before beating fellow Frenchwoman Alize Cornet in the semi-finals, proved a step too far.
After winning three straight points to claim a tight tie-break, Andreescu was a break ahead at 4-2 in the second set before Garcia launched a strong comeback.
Andreescu was also a break up in the final set but Garcia, who broke five times throughout the contest, prevailed in two hours and 42 minutes.
With Wimbledon approaching, Andreescu was playing just her sixth tournament of the season after a six-month hiatus to look after her mental health that came after a string of injuries over recent years.