SOCHI, Russia (AP) -- Canada put shots by the dozens on Kristers Gudlevskis, and Latvia's kid goalie stopped nearly everything in a performance that grew from sensational to a bit supernatural.
Late in the third period, Canada finally replaced all that quantity with quality. Shea Weber's slap shot is widely considered the best in hockey, and it put the defending Olympic champions past the lively underdogs -- and into a rematch with their neighbors.
Weber scored a tiebreaking power-play goal with 6:54 to play, and Canada survived an enormous scare from Latvia to advance to the Olympic men's hockey semifinals with a 2-1 victory Wednesday night.
Carey Price made 15 saves for the Canadians, who were stretched to the limit by Gudlevskis. The 21-year-old Tampa Bay Lightning prospect made 55 saves in a spectacular performance, nearly pulling off one of the biggest upsets in hockey history largely by himself.
"That was one of the best goaltending performances I've ever seen," said Price, the Montreal Canadiens' three-time NHL All-Star goalie.
Weber unleashed his peerless slapper late in a power play, and Canada finally took the lead on its 54th shot. An entire hockey-worshipping nation exhaled, and Canada advanced to a semifinal meeting with the similarly unbeaten United States on Friday in a rematch of the gold-medal game in Vancouver four years ago.
"We had a lot of chances, but we knew it was going to be tough," said Weber, who injured Latvia defenseman Oskars Bartulis with his slap shot earlier in the third. "You saw how many shots we had to take. You just have to stay focused and patient and stick to what you do well. Eventually, finally, it paid off for us."
One night after 11th-seeded Latvia recorded its first Olympic victory in 12 years to reach its first quarterfinals, Buffalo Sabres coach Ted Nolan's team improbably tested the champs.
"I play for my teammates, because they play so good every game," said Gudlevskis, who has played mostly for the Lightning's AHL affiliate in Syracuse lately. "They did everything tonight and I just wanted to give them the opportunity to win this game. ... You start to believe and then you just work hard."
Lauris Darzins scored a breakaway goal in the first period for Latvia, which lost all three of its preliminary-round games before surprising Switzerland 3-1 on Tuesday. The Baltic nation of 2 million people has been in the last four Olympic fields after a 66-year absence, but hadn't won a game since 2002.
"It doesn't matter how many shots you get, it's how many go in the net," Nolan said. "So to play them tough the way we did, I'm extremely proud."
Patrick Sharp scored in the first period for the Canadians, who cruised unbeaten through the preliminary round with three victories before running into big trouble in the quarterfinals.
Canada also lost forward John Tavares for the rest of the tournament with a leg injury. The New York Islanders star was checked into the boards by Latvia's Arturs Kulda in the second period, thinning Canada's formidable depth.
Canada, which has won two of the last three Olympic tournaments, is the first defending champion to return to the semifinals since the current Olympic format was introduced in 1992.
A few hours after Russia's Olympic run ended at the Bolshoy Ice Dome with a quarterfinal loss to Finland, Canada created some eerie echoes of the Russians' downfall: Pedigreed forwards failing to score, defensemen making key mistakes and opposing goalies playing phenomenal hockey.
Canada had few major worries about its star-studded team during the first week in Sochi, although fellow semifinalist Finland took the Canadians to overtime. Captain Sidney Crosby's goalless performance and a daily shuffling of the forward lines didn't suggest scoring trouble for such a potent lineup -- particularly not against tiny Latvia.
Rick Nash engineered Canada's first goal with an exceptional play in front of Latvia's net, controlling the puck and circling to find Sharp for a wrist shot through Tavares' screen.
But just 2:04 later, Kulda threaded a long pass through Canada's defense to Darzins, who skated in alone on a prone Price and tied the score with his third goal in two games.
Canada came agonizingly close to scoring on a goal-mouth scramble with 11:33 to play, but defenseman Kristaps Sotnieks reached over his prone goalie's arm to pull the puck off the goal line. The spectacular play would have resulted in a penalty shot if the officials had seen Sotnieks' clever play, but they didn't catch it.