Dominik Hasek made 13 saves and Brett Lebda also scored for Detroit, which won its fourth straight game. Dion Phaneuf and Andrew Ference got the goals for Calgary, which lost its third in a row. Miikka Kiprusoff stopped 31 shots for the Flames.
Franzen opened the scoring with a goal from the right circle 4:29 into the game. Chris Chelios got the puck to him after a turnover in the Calgary zone by Jeff Friesen. Holmstrom's power-play goal made it 2-0 just 1:19 later, when he put in Jason Williams' rebound off the goal post for his fourth tally of the season.
Holmstrom has three goals and two assists in his last three games.
The Flames got on the board on Phaneuf's power-play goal with 7:31 remaining in the first period. His one-time slap shot from the point beat Hasek.
Lebda added his goal with 8:36 remaining as he completed a solo rush from his own blue line with a wrist shot from the right circle that beat Kiprusoff.
Ference scored with 2:07 to go.
Notes: Detroit was without D Mathieu Schneider (groin) and D Andreas Lilja (back). ... The Red Wings recalled D Kyle Quincey from Grand Rapids of the American Hockey League and sent LW Valtteri Filppula to the same team. ... Some of the possessions of Flames RW Darren McCarty will be auctioned off in the Detroit suburb of Fraser on Sunday to pay off his creditors. McCarty, who played with Detroit from 1993-94 to 2003-04, filed for bankruptcy in Detroit in April. ... Calgary C Brandon Prust and C Dustin Boyd each made his NHL debut. ... Detroit LW Mikael Samuelsson returned after missing five games with a shoulder injury. ... Detroit Tigers pitcher Nate Robertson attended the game.