DETROIT -- The Detroit Red Wings' big win came at a heavy price.
But the Red Wings also lost star center Pavel Datsyuk for at least four weeks with a broken bone in his hand or wrist, according to coach Mike Babcock.
"It's unfortunate, there's nothing we can do about it. We got to find a way to dig in, just like we did tonight to get the game done," Babcock said. "More opportunity for someone else. We know Pav's a good player and we know he's coming back. He gets a little bit of vacation so he's ready for the playoffs."
Datsyuk, who has 12 goals and 39 points in 33 games, will not need surgery and his hand will be placed in a cast.
Datsyuk was hurt with about 1:30 left in the first period when he tripped over former Red Wings' teammate Mikael Samuelsson in the Vancouver zone and landed on his right hand-wrist area.
Nicklas Lidstrom's third-period power-play goal tied the game at 4-4. Zetterberg also added an assist on Lidstrom's goal. Danny Cleary and Valtteri Filppula also scored for Detroit. Brian Rafalski had three assists and Jimmy Howard stopped 35 shots.
The Red Wings, first in the Western Conference after passing Dallas with the win, lost their previous two games and are only 4-4-2 in their past 10 games.
"It was huge. You look at the standings, everything's gotten pretty condensed here so every point matters right now," Howard said.
Henrik and Daniel Sedin each had a goal and an assist and Mikael Samuelsson and Jeff Tambellini also scored for Vancouver, third in the Western Conference and three points behind Detroit. Ryan Kesler had two assists and Roberto Luongo made 40 saves.
"That's a tough team. I think we battled back," Tambellini said.
Zetterberg's winner came on a slap shot from the left circle for his 12th goal.
"It was nice to do that, change-up go in," he said. "It wasn't the hardest shot, but it found a way home."
Lidstrom's power-play goal at 16:06 of the third period tied the game 4-4. He put in a rebound for his eighth goal. That came after Kesler had a chance to get the puck out of the zone but couldn't.
Tambellini's shot from the right faceoff circle at 12:10 of the third gave the Canucks a 4-3 lead. It was Tambellini's seventh goal.
Zetterberg tied the game at 3 at 1:54 of the third period when his backhand shot from the side of the net went in off Luongo.
"He (Zetterberg) seemed to throw us on his back and just took over in the third period," Howard said. "That's what you need your top players to do."
Howard gave Zetterberg the chance for his winning tally. The goaltender stopped Henrik Sedin's first shot from the slot and his rebound attempt from in close 36 seconds into the third period.
"We're up 3-2, got a top scorer with a great chance to make it 4-2 and the goaltender makes the save," Canucks coach Alain Vigneault said.
Samuelsson broke a 2-2 tie at 19:39 of the second period. He beat Howard from the left circle for his seventh goal. The play was set up by Brad Stuart's turnover just inside the Vancouver blue line.
Daniel Sedin's power-play goal at 11:21 of the second period tied the game at 2. He poked in a loose puck from the crease for his 17th goal.
Filppula gave the Red Wings a 2-1 lead at 6:29 of the second with his eighth goal.
Henrik Sedin's power-play goal made it 1-1 at 1:11 of the second period. It was his seventh goal.
Cleary opened the scoring 8:12 into the game with his 15th goal.
Vancouver's Ryan Kesler, who is from the Detroit suburb of Livonia, has six goals and five assists in his past seven games. ... Detroit D Ruslan Salei got an assist for his 200th career point. ... Tambellini played at the University of Michigan. ... The Red Wings recalled D Jakub Kindl from his two-week conditioning stint with their AHL affiliate in Grand Rapids.