Canada 1, Denmark 2
Canada's run came to an end at the hands of Denmark, who scored two late goals to clinch a stunning semi-final berth.
The Canadians dominated the first period, outshooting the Danes 18-4 - and 30-11 through 40 minutes - but could not solve netminder Frederik Dichow.
Former Calgary Hitmen defender Travis Sanheim finally broke the ice 5:17 into the third, one-timing a pass from Sidney Crosby past Dichow from the bottom of the left circle.
But the Danes just didn't quit, tying the contest through Nikolaj Ehlers with 2:17 to play.
The hosts then sent the Danish crowd into an absolute frenzy with 49 seconds on the clock, Nick Olesen beating Jordan Binnington for his fifth goal of the tournament.
Denmark outshot Canada 22-10 in the third period.
MacKenzie Weegar played 15:00 and finished with two shots on goal.