Chicago forward Patrick Kane had an assist to extend his point streak to 13 games, the longest active streak in the NHL.
Jonathan Toews won it at 3:21 of overtime, scoring stick side from in front of the crease off a pass from Dylan Strome. Toews has 12 points (six goals, six assists) in a six-game point streak.
"Maybe everyone else on the ice was as tired as I was," Toews said. "I was just trying to make one last play without it being too dangerous, risking a turnover. Was able to anticipate the D-man throwing his stick in there and was able to get a shot on net."
WATCH: [All Canucks vs. Blackhawks highlights]
Alex DeBrincat had two goals, Brandon Saad scored and Strome had three assists for the Blackhawks (22-24-9), who are on their longest winning streak since they won seven in a row Feb. 19-March 4, 2017. Collin Delia made 40 saves.
"It's two points on the board," Strome said. "Obviously they only get one, so that makes up some ground and we'll take it and keep the train rolling here and hopefully we can do it again Sunday (against the Detroit Red Wings)."
Josh Leivo had a goal and two assists, and Alex Biega and Elias Pettersson scored for the Canucks (24-24-7), who lost their third straight game. Jacob Markstrom made 31 saves.
"Yeah, once again I think we all felt we played a pretty strong game, especially after taking some penalties and giving up two goals," Canucks forward Brock Boeser said. "We had a good pushback in the second, kept pressuring, getting chances and we never quit. It's unfortunate we didn't get that second point, but at least we get one."