Canada was able to overcome a brilliant start to the night by Russian goaltender Sergei Bobrovsky, and a 2-2 tie at the end of two periods, to win 5-3 and advance to the World Cup of Hockey final.
A Russian turnover and silky smooth move by Sidney Crosby put Canada up 1-0 at 7:40 of the opening frame. Crosby took the turnover, skated by Bobrovsky and then potted the go-ahead goal.
Video: WORLD CUP | CAN vs RUS Recap
Midway through the first, Canada had a big opportunity to pull further ahead but Ryan Getzlaf and Shea Weber couldn't hook up on a shorthanded rush.
The Canadians began the second period in dominating fashion. It took until 8:47 of the frame for Russia to register a shot. Unfortunately for Canada, that shot went in.
A 2-on-1 rush ended with a Nikita Kucherov snipe to make it a 1-1 game. Shots were 24-8 for Canada at the time of that goal.
The Canadians' misfortunes continued at 16:24 of the second when Russia took a 2-1 lead, their first of the night. Evgeny Dadonov worked the puck behind the net and passed it out in front to Ivan Telegin, who skated through it. Evgeny Kuznetsov tapped it in to send the Russian fans in attendance into fits.
Canada rebounded when Crosby found Marchand back door at 17:36 of the second. Canada fans danced in the aisles and stood at their seats as the host country evened things up at two.
54 seconds into the third, Bobrovsky made a beautiful glove save, sliding across the fresh ice. The Russian netminder was putting on a show for his team, but Canada would get to him eventually.
Marchand whipped a long distance shot past Bobrovsky at 1:16 of the final frame to pull Canada ahead 3-2.
Corey Perry made it a two-goal lead for the home team at 5:48 of the third. Perry got the puck in front of Bobrovsky, pulled it back, gathered and fired it past the sprawling goaltender as he tried to recover.
John Tavares put the game out of reach at 9:22 of the third.
Russia got a greasy goal with 8.2 seconds left on the clock after a scramble in front of the Canadian net to make it 5-3. Artemi Panarin recorded the final Russian tally.
Canada outshot Russia 47-34 for the game.
Canada will now play the winner of the Team Europe and Sweden game, in a best-of-three series.