The Americans' 7-4 victory, sparked by Scott Bjugstad's two goals, gave them a 2-2-2 record after losing the first two contests. Still, it was the worst Olympic hockey finish ever for the United States.
The Soviets blanked Canada 4-0 despite being tested for the first time at the games. And the Czech team posted its third shutout of the Olympics and second in a tow by shackling Sweden 2-0.
The Soviets need only tie Czechoslovakia to gain the gold medal on a better goal differential Both teams are 6-0.
If Canada ties or beats Sweden on Sunday, it wins the bronze. The Canadians are 4-2 and Sweden 3-2-1, and Canada has a three goal differential edge for the medals round.
"Our kids executed the game plan perfectly," Canadian Coach Dave King said. "The ideas put forward by assistant coach Jean Perron and team manager George Kingston to change our tactics were successful and kept us in a large portion of the game. We were very patient, not committing ourselves or getting trapped and we took them off their game."
The slower, less-experienced Canadians held the mighty Soviets scoreless for more than half the game by dropping four players back into their own zone, allowing the Soviets to control play but never giving them wide-open opportunities. When the Soviets got in range, goalie Mario Gosselin was superb.
"The Soviets always are forced to play by being pressured by the opposition," King said.
West Germany neat Finland 7-4 in the fifth-place game as Erich Kuehnhackl scored three times to rally the Germans from a 4-1 deficit.