Jannik Hansen scored in the second period, immediately after leaving the penalty box for an illegal hit to the head, and the Vancouver Canucks snapped a four-game road losing streak by beating the San Jose Sharks 3-1 on Tuesday night.

Bo Horvat and Radim Vrbata also scored for the Canucks, who have won their last three games in San Jose. Ryan Miller stopped one of two penalty shots he faced and made 31 saves in all to beat the Sharks for the seventh straight time.

Joe Thornton converted his penalty shot, and Joe Pavelski missed for the Sharks, who had two penalty shots for just the second time in franchise history. Alex Stalock made 18 saves as San Jose lost its third straight.