MIYAGI, Japan -- Head coach Bev Priestman knew she could count on goalkeeper Stephanie Labbe with the fate of Canada's women's soccer team at the Tokyo Olympics hanging in the balance.

Labbe took a hard fall in the dying minutes of extra time when she had her legs taken out from under her by Brazil's Debinha while catching a lofted ball. She gave up goals on the first three penalty kicks she faced before making two critical stops to lift Canada to a 0-0 overtime win against Brazil and a berth in the Olympic semifinal.

Nearly identical diving saves against Brazil's Andressa and Rafaelle sent Labbe sprinting to her teammates for a group hug with a 4-3 advantage on penalty kicks.

"Big players step up in big moments and I had no doubt in my mind when it came to (Rafaelle's) kick it was going to be saved," said Priestman.

Vanessa Gilles had the decisive goal for Canada, with Jessie Fleming, Ashley Lawrence and Adriana Leon also scoring.

Canada was behind after captain Christine Sinclair -- the highest-scoring player in international soccer history -- was denied by Brazilian goalkeeper Barbara on the first penalty.

"That's what the Olympics are about, these tight games that bring out performances that make us really proud," said Labbe.

"I'm so proud of the team in front of me today and for me to be able to do my part and help this team come away with a win is a really proud moment for me."

Canada will face the rival United States in the semifinals on Monday at Ibaraki Kashima Stadium. The U.S. defeated the Netherlands 4-2 on penalties Friday after the teams ended their quarterfinal tied 2-2.

It will be a rematch of the classic semifinal between the teams at the 2012 London Games, in which the U.S. overcame a hat trick from Canada captain Christine Sinclair and won 4-3 in extra time.

Australia will face Sweden in the other semifinal.

Marta, Debinha and Erika had given Brazil an early lead in the kicks before Labbe made her climactic saves on Andressa and then Rafaelle.

"I thought they would be a podium-threat team," said Priestman of Brazil. "They've got some unbelievable players, but I'm just really, really proud and we can't underestimate how good that Brazilian team was."

Penalties were necessary after the two teams held each other scoreless through regulation and extra time.

The game was played at Miyagi Stadium in front of about 4,000 fans scattered throughout the 49,000-seat venue. No spectators are allowed at Olympic events in the Tokyo prefecture in an effort to slow the spread of COVID-19, but Miyagi Stadium is more than 360 kilometres north of Japan's largest city, well out of the scope of its state of emergency.

Labbe said that seeing Canadian flags in the crowd and hearing cheers from fans helped her and her teammates.

"We did our best to acknowledge them and give our thanks," she said. "It was so special to finally have fans in the stands and we really felt their support.

"In games like this that go to 120 minutes and then penalty shots, that little bit of energy can help push the team over the top."

Canada had its chances to win in the 30-minute extra time.

Leon, a late substitute, charged down the right wing in the 105th minute, firing a bouncing shot toward the Brazilian goal that went just wide.

Labbe kept Canada in the game in the 118th minute, punching away a header from Erika to keep the game 0-0.

Lawrence sailed a ball over the net in the 119th minute for Canada's last chance at a goal before the game went to penalties.

"What a performance by the team defensively," said Labbe. "We are solid against some of the best strikers in the world ... and then attacking wise I thought we put in a good shift, we had some great opportunities."

Canada had a scare early in the match when Sinclair was knocked off her feet by a Brazilian player in the sixth minute when she was contesting a corner kick. As she fell, her head smashed into the leg of Canadian defender Kadeisha Buchanan.

Team trainers and Labbe attended to Sinclair, who returned to play after a lengthy pause.

A desperate rush up the field led by Sinclair in the final minute of injury time fell short when Barbara wrapped up an attempt from Deanne Rose. That save sent the game to 30-minute extra time.

Both teams took a knee to show support for racial justice with some players placing their hands over their hearts before the opening kickoff.