Giordano was instrumental on the opening goal, firing a shot from the blue line that was deflected in by Andrew Mangiapane. He then capped a three-goal third period for the Flames with his second goal of the season on the power play at 8:47.
The reigning Norris Trophy winner, who turned 36 on opening night, has six points through the season’s first eight games.
Darren Helm scored for Detroit (3-4-0), which has lost three straight. The Red Wings wrap up their three-game Western Canada road trip on Friday night in Edmonton.
Making his seventh start, David Rittich (4-2-1) made 27 saves for the win. One of his best stops came in the opening minute when he stabbed out his pad to deny Dylan Larkin on a one-timer.
Jimmy Howard (1-3-0) had 29 stops for Detroit.
The only puck to get past Rittich barely got past the 27-year-old Czech. After he appeared to stop Anthony Mantha on a breakaway, the puck eventually squirted under him and came to a stop on the goal line where Helm poked it in.
Helm would end up hitting the showers early, thanks to a vicious slash to the back of the leg of Lindholm early in the third period, an incident that earned him a five-minute major and a game misconduct.
Lindholm, who remained down for a couple minutes, did not return. The Flames also lost Mangiapane in the second period after he was shaken up on a hit.
Leading 2-1, the Flames blew the game open with three straight goals in the third period, the first of which was set up by Milan Lucic, his first point as a Flame.
Lucic laid a heavy hit on Alex Biega along the end boards, stole the loose puck, and promptly centered it to Bennett, who buried his first of the season.
Less than two minutes later, Ryan was credited with a goal when Red Wings defenceman Filip Hronek accidentally knocked the puck into his own net.
Notes: Calgary’s scratches were forward Tobias Rieder and defenceman Michael Stone… Detroit defenceman Danny Dekeyser (upper body) returned after a one-game absence… Flames improve to 9-0-1 all-time when Mangiapane scores.