Detroit got its 13th consecutive home win, moving within one of the franchise record set in 1964-65.
Pavel Datsyuk and Kris Draper also scored for the Red Wings. Hasek made 26 saves, several spectacular during the first two periods while the Red Wings struggled.
"I think Dom came out and really kept us in it," Zetterberg said.
Hasek took little pleasure in the win.
"We played a team that's 20 points behind us," he said. "You should beat a team like that."
Radim Vrbata, and Bryan Smolinski scored for Chicago, and Nikolai Khabibulin stopped 31 shots.
"We just didn't find the net," Chicago coach Denis Savard said. "They know how to finish. They're a very experienced team. They know how to play in situations that keep them in the game. They'll hang on enough to finish it."
Datsyuk gave Detroit a 2-1 lead with short-handed goal 9:17 into the third period, just 8 seconds after Chris Chelios was called for accidentally highsticking James Wisniewski. Datsyuk stole the puck from Adrian Aucoin at the Red Wings' blue line, went in on a breakaway, and beat Khabibulin with a forehand shot after making a move for his 19th goal.
The lead didn't last long, as Smolinski connected for a power-play goal 1:29 later on a slap shot from the right circle that deflected off Mathieu Schneider's leg and past Hasek for Smolinski's 13th goal.
Zetterberg put the Red Wings ahead for good, scoring on a cross-ice pass from Datsyuk as a penalty was being called on Chicago. His empty-netter with 38 seconds left was his 32nd goal of the season, and 13th in the last 10 games. He has 25 points in that span and has the game-winning goal in six of Detroit's last eight wins, and leads the NHL with 10 game-winners.
"You just have to be happy and keep playing," Zetterberg said. "It really helps the team when the line is playing so well."
Zetterberg, Datsyuk, and Tomas Holmstrom have been the NHL's hottest line since it was united in December.
Not only is Zetterberg producing offensively but he's playing well defensively, and winning key faceoffs.
"He's scoring right now. It's not like at the start of the year, he wasn't playing well," Red Wings coach Mike Babcock said.
Vrbata opened the scoring 6:24 into the first period, when he tipped Duncan Keith's attempted clear into the opposite corner for his ninth goal.
Draper tied the score for Detroit 6:34 into the second period, when his slap shot from a bad angle below the right faceoff dot beat Khabibulin.
Martin Lapointe missed an open-net opportunity to give Chicago a 2-1 lead later in the second period. He fired a rebound wide of an open net. Hasek may have gotten a piece of it.
"It was an empty-netter, and I thought I'd scored right away," Lapointe said. "You've got to get those, it would have changed the game."
Notes: Chicago LW Rene Bourque returned after being out since New Year's Eve because of a cracked bone in his ankle. ... Draper's goal in the second period broke a string of eight straight Detroit goals that were either scored by Zetterberg, or on which he had an assist. The stretch was over the previous three games. ... Datsyuk's goal was the 100th of his career. ... Chicago's Denis Arkhipov suffered a bruised ankle when he was hit by a slap shot from Nicklas Lidstrom and is doubful for Thursday night's game.
|Radim Vrbata (9) Tip-in - ASST: Duncan Keith (24), Bryan Smolinski (22)|
1 - 0 CHI
|Kris Draper (10) Slapshot - ASST: Johan Franzen (13)|
1 - 1 Tie
|SHG - Pavel Datsyuk (19) Snap shot - ASST: NONE|
2 - 1 DET
|PPG - Bryan Smolinski (13) Snap shot - ASST: Brent Seabrook (10), Duncan Keith (25)|
2 - 2 Tie
|Henrik Zetterberg (31) Snap shot - ASST: Pavel Datsyuk (42), Nicklas Lidstrom (42)|
3 - 2 DET
|EN - Henrik Zetterberg (32) Backhand shot - ASST: NONE|
4 - 2 DET
|Cam Barker Holding against Valtteri Filppula|
|James Wisniewski Holding against Daniel Cleary|
|Nicklas Lidstrom Holding against Martin St Pierre|
|Kris Draper Hi-sticking against Martin St Pierre|
|Duncan Keith Tripping against Pavel Datsyuk|
|Jiri Hudler Holding against Peter Bondra|
|Chris Chelios Hi-sticking against James Wisniewski|
|Craig MacDonald Hooking against Mathieu Schneider|