Daniel Alfredsson scored his second goal of the contest 1:03 into overtime as Detroit snapped a six-game winless skid (0-4-2) and five-game home losing streak.
After Pavel Datsyuk (three assists) drew a hooking penalty on Calgary defenseman T.J. Brodie with 42 seconds left in the third period, the Red Wings secured their first overtime win in 12 home outings. Datsyuk fired a feed from the right corner to Alfredsson, who one-timed a blast from the edge of the left circle to end the game.
Alfredsson tallied 26 seconds into the contest and recorded his 700th career assist on Joakim Andersson's tally. Jonas Gustavsson turned aside 20 shots as Detroit posted its third home win in 17 contests (3-8-6).
Mikael Backlund and captain Mark Giordano scored for the Flames, who fell to 1-1-2 on their five-game road trip. Michael Cammalleri notched two assists in his return after missing one game with the flu and Karri Ramo finished with 35 saves.
Alfredsson opened the scoring 26 seconds into the contest after cleaning up a rebound of Datsyuk's sharp-angle shot, but Backlund answered nearly five minutes later by converting from the doorstep after Cammalleri's bid caromed off the endboards. Anderson regained the advantage midway through the second period with a deflection of Alfredsson's point shot, but Giordano knotted it up again just over four minutes later by scoring from the slot for a power-play goal.