The USWNT will have to settle for a bronze medal match, while Canada will meet Australia or Sweden for gold
Jessie Fleming struck to eliminate the United States at Tokyo 2020 and guide Canada into the gold medal match.
After Tierna Davidson conceded a penalty with 17 minutes remaining, the Chelsea star calmly converted from the spot, despite substitute goalkeeper Adrianna Franch going the right way.
The USWNT rallied late and Carli Lloyd’s header struck the bar as Canada weathered a late storm.
And with four minutes of added time Team USA packed the penalty area at a corner, but could not carve out one final chance with Canada holding on for the upset.
It ends a disappointing tournament for the United States, who have failed to hit the heights usually associated with the world champions.
This is now the second Olympics in a row where they have failed to make the final, having previously reaching the gold medal match at five successive Games from 1996 to 2012.
It will be Canada’s first ever Olympic gold medal match with the semi-final victory especially sweet and serving as revenge after defeat to the USA in the semi-finals nine years ago at London 2012.
Canada also suffered heartache at Rio 2016 in the final four, winning bronze again, but now history is within reach.
Australia or Sweden will be their opponents on 6 August at the National Stadium, Tokyo.