"He played very well, very well," Flames defenseman Dion Phaneuf said of Miikka Kiprusoff's little-used backup. "We didn't give him enough to get the victory."
It was the Flames' fifth straight loss in Detroit. They last won at Joe Louis Arena in December 2005.
"It's a hard building to play in. They have one of the best home records year in and year out," Calgary captain Jarome Iginla said. "That was as close as we've come."
Lidstrom beat McElhinney with a slap shot from the high slot area for his fourth goal.
"Franzen made a great play entering their zone with the puck," Lidstrom said. "He turned up and beat his guy with the pass on the wall. I'm just trying to hit that far side because he was a little screened."
Rafalski tied it at 3 with 6:17 left, beating McElhinney with a slap shot from the top of the right circle for his fourth goal.
"We battled back. We were down 3-1 in the third and we battled through it," Rafalski said. "We didn't play as well as we could in the first, and their goalie played really well. We continued to wear them down and it paid dividends for us."
Zetterberg brought the Red Wings to within one at 9:51 of the third period when he jammed in a rebound for his 13th goal.
Moss' power-play goal gave the Flames a 3-1 lead 8:51 into the third with his eighth goal. He backhanded in a rebound off a sprawling Conklin.
Filppula put Detroit on the board to make it 2-1 at 6:59 of the second period when he tipped in Kris Draper's slap shot for his fourth goal.
Calgary took a 2-0 lead in the first period. Conroy opened the scoring with 4:57 left with his fourth goal. He picked up a loose puck at the bottom of the right circle and sent in a shot off the stick of Detroit's Pavel Datsyuk.
Langkow scored with 50 seconds remaining. He put in a rebound for his seventh goal after Todd Bertuzzi carried the puck from the corner to the goal mouth and was stopped by Conklin.
Babcock shuffled the lines and defense pairings after the first period.
"It gave us a little bit of a spark," Lidstrom said. "We had to get skating more. We had to work harder. We got to that point in the second period."
Calgary center Dustin Boyd returned after missing five games with an upper body injury. ... Detroit's Jiri Hudler played his 200th NHL game. ... Moss is a native of the Detroit suburb of Livonia and played college hockey at Michigan.
Copyright by STATS LLC and The Associated Press
Arena: Joe Louis Arena Location: Detroit, Michigan
Referees: Rob Martell, Tom Kowal Linesmen: Steve Miller, Jonny Murray
Attendance: 19,335 (96.4% full)
Team Stat Comparison
Power Play Goals
Power Play Opportunities
Shots on Goal
Craig Conroy (4)
Assists: Mike Cammalleri, Dion Phaneuf
Daymond Langkow (7)
Assists: Todd Bertuzzi, David Moss
Valtteri Filppula (4)
Assists: Kris Draper, Daniel Cleary
David Moss (9)
(Power Play) Assists: Dion Phaneuf, Adrian Aucoin
Henrik Zetterberg (13)
Assists: Daniel Cleary, Brian Rafalski
Brian Rafalski (4)
Assists: Tomas Holmstrom, Johan Franzen
Nicklas Lidstrom (4)
Assists: Johan Franzen, Pavel Datsyuk