The goalie was acquired in an offseason trade with the Florida Panthers along with Lukas Krajicek and a draft choice for Todd Bertuzzi, Bryan Allen and Alex Auld.
"He never looked like he was out of place," said Canucks veteran Trevor Linden, who also scored. "For sure, he always looked like he was in position."
Markus Naslund got Vancouver's other goal.
Luongo was the biggest difference as Vancouver killed off all nine Detroit power-play opportunities.
"Obviously, we took quite a few penalties tonight," Canucks coach Alain Vigneault said. "And a big part of penalty-killing is strong goaltending and Roberto gave us the goaltending we needed."
Henrik Zetterberg got Detroit's only goal. Dominik Hasek made 14 saves for the Red Wings in the first game of his third stint with the team. He last played for Detroit in 2003-04. The Red Wings signed the free agent to a one-year, $750,000 contract during the summer.
"We give up two power-play goals and we didn't score any," Hasek said.
Luongo didn't give much thought to facing the almost certain future Hall of Famer.
"I was not really focusing on who was playing on the other side," he said. "I was concentrating on playing my first game for my new team."
The Canucks scored twice in the opening 5:41 of the second period to take a 3-0 lead.
Linden put a rebound past Hasek at 2:25, and Salo's wrist shot from the high slot glanced off the goalie for a power-play goal 3:16 later.
Zetterberg scored with 4:05 left in the middle period.
Vancouver took a 1-0 lead on Naslund's power-play goal with five seconds left in the first period. Salo's shot from the point deflected in off Naslund.
"We just didn't feel like we worked as a unit," Red Wings coach Mike Babcock said. "I thought there was a separation of our forwards and our defensemen and I didn't think we came up and down the ice very well."
- Detroit named D Nicklas Lidstrom as team' captain before the game. He succeeds Steve Yzerman, who wore the "C" for Detroit for the previous 19 seasons. Yzerman retired in early July. Zetterberg and Kris Draper were named alternate captains.
- Linden's goal was his 300th as a Canuck.