Canada has advanced to the gold medal game at the Milan Cortina Winter Olympics after Nathan MacKinnon scored the go-ahead goal with 35.2 seconds in a 3-2 win over Finland.