Brandon Sutter had an empty-net goal and two assists for the Canucks (32-21-5), who have won two games in a row after going 0-3-1 in the previous four.
"It would not have been a win if it wasn't for him," Sutter said of Markstrom. "I can't say enough about how he played tonight. That was pretty special."
[WATCH: All Blackhawks vs. Canucks highlights]
It was the second shutout of the season and fifth in the NHL for Markstrom, who matched his NHL career high for saves and set a Vancouver record for most in a shutout, surpassing Kirk McLean's 45 in a 3-0 win at the Montreal Canadiens on Dec. 4, 1991.
"They have a really good team with skilled players, they are going to get shots on net," Markstrom said. "It was a battle."
Markstrom is the first Canucks goalie with two shutouts with at least 40 saves in a season (43 in a 1-0 win against the Carolina Hurricanes on Dec. 12).
"Records don't come easy in this organization or in this league," Markstrom said. "I'll take it."
Video: Markstrom earns Wednesday's Pepsi Zero Sugar Shutout
Corey Crawford made 17 saves for the Blackhawks (25-24-8), who are 0-3-2 in their past five games.
"We're just happy about getting our effort back to where it needs to be, and we'll go from there," captain Jonathan Toews said. "Unfortunately, we couldn't find ways to find the back of the net and open the game up a little."
After an hourlong ceremony to retire the No. 22 and No. 33 jerseys of Daniel and Henrik Sedin, it was the Blackhawks, coming off a 5-3 loss to the Edmonton Oilers on Tuesday, who controlled play early. They had 13 shots on goal before the Canucks got their first at 9:56.
Chicago was penalized for an unsuccessful challenge of a goaltender interference call that resulted in a goal being waved off at 13:58 of the first, and Vancouver capitalized on the ensuing power play.
Sutter one-touched a pass from the goal line to Bo Horvat at the left hash marks for a one-timer over Crawford's glove to make it 1-0 at 15:33.
"We felt in the moment that [Brandon] Saad didn't prevent him from making a save and felt like we had a decent chance of getting a goal," coach Jeremy Colliton said. "We feel pretty good about our penalty kill, so it was worth taking a shot. Obviously, it didn't work out."
Video: CHI@VAN: Horvat finishes tic-tac-toe for PPG
Markstrom made the save against Patrick Kane after he got open for a shot from the high slot 5:04 into the second period, and the Canucks went ahead 2-0 at 6:25 after a hit by Jordie Benn on Drake Caggiula forced a turnover in the Blackhawks zone. Sutter made another pass from the goal line, this time to Antoine Roussel in the high slot, and he passed it across to Adam Gaudette for a backdoor tap-in.
"I'm trying to make some plays down low and get to the net," Sutter said.
Sutter scored from the Canucks zone with Crawford pulled for the extra attacker with 2:09 left for the 3-0 final.
Markstrom said he was more nervous than usual after the Sedins' ceremony, but he settled in with point-blank saves off Dominik Kubalik and Kane in the first period. Kane hit the cross bar on a third period power play, but Markstrom stuffed Duncan Keith in tight soon after.
"They have family here and all their friends, people have flown in from Sweden," Markstrom said. "You have all these alumni that meant a lot for this city. You want to play good in front of them for sure."
Video: CHI@VAN: Canucks raise Nos. 22, 33 to the rafters
Blackhawks forward Zack Smith did not play in the third period because of a skate cut on his left hand.
"He's going to be out for a little bit," Colliton said. "I'm not sure exactly the timeline, but (I'd) be surprised (if) he played next game."
They said it
"Got no other choice. Sit around and sulk about it for 20 minutes, and then you have to make a decision on how you want to react and get ready for the next one." -- Blackhawks captain Jonathan Toews on staying positive after five games without a win
"Sometimes your goalie has to come up clutch for you. [Jacob Markstrom] was outstanding. Without him, it's a different story." -- Canucks captain Bo Horvat
Need to know
Markstrom's 49 saves are the most in a shutout by a Sweden-born goalie in the NHL, surpassing the 45 by Anders Nilsson for the Ottawa Senators against the Anaheim Ducks on Feb. 7, 2019, and Henrik Lundqvist against the New Jersey Devils on Jan. 12, 2010. ... The 49 shots on goal were a season high for the Blackhawks, who had 44 on Oct. 20 against the Washington Capitals and Feb. 1 against the Arizona Coyotes. ... The 20 shots on goal were the fewest allowed by Chicago this season. ... The Blackhawks were 0-for-5 on the power play. The Canucks were 1-for-3.
Blackhawks: At the Calgary Flames on Saturday (10 p.m. ET; CBC, SN, SN360, CITY, NBCSCH, NHL.TV)
Canucks: Host the Anaheim Ducks on Sunday (5 p.m. ET; SNP, PRIME, NHL.TV)
Video: Markstrom blanks Blackhawks as Canucks honor Sedins