Canada defeated the United States to book a men's Winter Olympic ice hockey final meeting with Sweden.
Jamie Benn's strike in the second period and 31 saves from Carey Price gave Canada a 1-0 win and a place in Sunday's final.
Earlier, Sweden came from a goal down to beat Finland 2-1.
Canada, chasing a third gold in four Games, are looking to complete a double after their women beat the United States 3-2 on Thursday to win gold.
The US, beaten in the final four years ago, must now settle for a bronze-medal match against the Finns, who took the lead against Sweden through Olli Jokinen.
But a tight-angled finish from Loui Eriksson and a mighty slapshot from Erik Karlsson completed the Swedish comeback.