Canada pulled off the shock result of the tournament to advance to the final, winning the semi-final 1-0 thanks to a second-half penalty from Fleming.
After a miserable first half which saw neither side register a shot on target, the USWNT dominated proceedings in the second period, led by substitutes Rapinoe and Lloyd.
Canada goalkeeper Labbe came to the rescue on several occasions, while Lloyd came closest for the U.S. when hitting the bar with a powerful header.
However, Canada managed to win a penalty after a VAR review 15 minutes from time, and Fleming held her nerve to convert from 12 yards.
They can now look forward to their first-ever Olympics final, while the United States will contest the Bronze Medal match for the second successive time.