Canada stunned world champions the United States on Monday, handing them a shock 1-0 defeat in the semi-finals of the women’s Olympic football tournament to set up a clash with Sweden in Friday’s showpiece match.

The Swedes beat Australia 1-0 thanks to a 46th-minute goal from Fridolina Rolfo to return to the final after their silver medal in Rio five years ago.

Canada celebrated their first win over the US in over 20 years after Jessie Fleming’s 75th minute penalty settled the contest.

The crucial moment, in a game which had produced little incident, came when US defender Tierna Davidson challenged Deanne Rose on the edge of the penalty area. After a video review, a spot kick was awarded.

Canada’s veteran striker Christian Sinclair initially had the ball in her hands, but Fleming took the responsibility and kept her cool to slot home.

The US, pre-Games favourites for the gold medal, went close to an equaliser when Carli Lloyd struck the bar with a header but Canada held on for a famous victory – and their first appearance in an Olympic final.

The Americans have won the gold medal four times and have not lost to Canada for over 20 years. It is only the fourth time the Canadians have beaten their neighbours in 62 meetings.

“It has been a long time coming to beat those guys,” said Fleming. “We want to come away with gold now but it is really special for us to put our flag on the map,” she said.