Justin Abdelkader scored early in the second period and again in the final seconds after Howard made 16 saves over the final two periods and Gustavsson stopped eight shots in the first.
Howard also stopped David Booth's penalty shot in the second.
It was the first time Detroit had a combined shutout since Oct. 27, 2001, when Manny Legace and Dominik Hasek did it in a 1-0 win at Nashville, according to STATS.
Gustavsson started, but couldn't play in the second or third because of dizziness.
"I guess he's fine," Red Wings coach Mike Babcock said.
The Canucks had coach John Tortorella behind their bench and forward Henrik Sedin on the ice after both missed six games.
Tortorella was suspended for 15 days by the NHL for his conduct after a brawl in a game against the Calgary Flames. Tortorella went to Calgary's locker room following the first period, which began with several fights.
"What's happened was deserved," Tortorella said. "I hope it makes me a better coach, but it certainly doesn't stop the situations I've put a lot of other people in, especially my other coaches."
Sedin had been out since he was unable to finish the Jan. 18 game against Calgary because of an upper-body injury.
He and his brother, Daniel, extended their goal-scoring droughts to 16 games. That matches the longest stretch of games the Sedins have played without either one of them scoring since 2002, according to STATS.
"Obviously, they're a big part of their team," said Detroit's Henrik Zetterberg, who will team up with the Sedins for Sweden at the Olympics. "If you keep them in check, you have a good chance of winning the game."
The Red Wings wanted to rest Howard, who had played two straight games following a four-game absence after aggravating a left knee injury, but he was forced into action.
Howard helped Detroit keep its slim lead early in the second period when he denied Booth's penalty shot.
"I thought our best forward was David Booth, which is good for him but not good for us," Tortorella said.
The Canucks went on a power play for the fourth time 5:29 into the third period, but didn't take advantage. They had an extra skater again when Detroit had too many men on the ice with 4:37 left in the game. It turned into a 4-on-3 advantage when players from both teams were called for a penalty, but Vancouver couldn't convert.
"We looked like a slow hockey team tonight," Tortorella said. "We're going to keep banging and trying to get better. ... It worries me, it really worries me."
Lack gave up what appeared to be a soft goal, failing to stop a long shot from Abdelkader with his blocker, but helped Vancouver stay within a goal when Detroit had a 5-on-3 power play midway through the second period.
Lack also made three straight stops when Darren Helm had chances to score during Vancouver's final power play, including one sprawling stop in which he dove and got some of his glove on the puck.
"The way he's keeping us in games, you want to score some goals for him," Vancouver's Jannik Hansen said. "We just couldn't find a way to get it done."
The Canucks pulled Lack late in the game to add an extra skater, but teammate Alexandre Burrows was called for cross-checking with 38.7 seconds left. Abdelkader sealed the win with an empty-net goal with 15.7 seconds remaining.
"His confidence is growing," Babcock said. "He's making more plays with the puck."
Vancouver acquired forward Dale Weise from Montreal and scratched him from the lineup in Detroit. ... The Red Wings recognized people from both franchises who will represent their countries at the Sochi Games, including Detroit forward Gustav Nyquist, who is replacing injured teammate Johan Franzen on Sweden's roster. ... Detroit's Pavel Datsyuk, who missed his 14th straight game with a lower-body injury, hopes to play a game or two before being Russia's captain in Sochi.
Copyright by STATS LLC and The Associated Press
DETROIT, MI - FEBRUARY 3: Zac Dalpe #21 of the Vancouver Canucks shoots the puck in warm-ups before an NHL game...