Begin took advantage of a pair of blunders by Detroit goalie Jimmy Howard to score his third and fourth goals of the season.
Lee Stempniak also scored for the Flames (17-22-4), who won all three games they played against the Red Wings this season.
Miikka Kiprusoff stopped 36-of-38 shots he faced in the Calgary net to record his first win since he making 36 saves in a 3-2 win at home to St. Louis on March 24. Joey MacDonald had started the previous three games in net for the Flames.
Howard, who the Red Wings signed to a US$31.8-million, six-year contract on Tuesday, made 14 saves in a losing cause.
Early in the third period, Howard played the puck behind his net and attempted to pass it off to defenceman Jonathan Ericsson. Begin noticed that the puck instead got tied up in Howard's feet and he alertly poked it off the Detroit goalie's right skate and into the net.
Later in the final frame, with Calgary defenceman Dennis Wideman in the penalty box for cross-checking, Howard mishandled the puck while again trying to play it behind his net.
Begin was once again the beneficiary as he picked up the loose puck and deposited it into the empty net to give Calgary a 3-1 lead.
Franzen pulled the Wings to within a goal with an unlikely goal of his own at 17:18 of the third. Franzen backhanded the puck into the Calgary zone from centre ice and it took a odd bounce right through Kiprusoff's legs.
The veteran Calgary goalie then made a great glove save with 16.6 seconds left in the game to stop a shot off the stick of Detroit defenceman Jakub Kindl and preserve the victory.
Howard had to be sharp in the early going and he stood his ground to turn aside a pair of shots fired his way by Calgary forward Matt Stajan.
It took the Red Wings until just after the five-minute mark for Valteri Filppula to record Detroit's first shot on net, which Kiprusoff easily turned aside. The Finnish goalie then stopped quality shots by Damian Brunner and Henrik Zetterberg before making a great save with his left pad to deny a scoring attempt by Joakim Andersson.
The Flames opened the scoring at 13:28 of the first when Stempniak swatted a rebound past Howard. Calgary defenceman Cory Sarich took the initial shot on goal, but the puck bounced right to Stempniak, who was driving hard to the net.
Calgary outshot Detroit 10-8 in the first period before the Red Wings turned the tables and outshot the Flames 11-2 in the second.
The Red Wings scored the lone goal of the middle frame when Nyquist tapped a cross-crease pass from Andersson past Kiprusoff.
Notes: Stajan returned to Calgary's lineup after missing the past four games with an upper-body injury. … Flames' rookie Sven Baertschi drew an assist on Stempniak's goal to give him two goals and two assists in his past three games. … The Flames also beat the Red Wings 4-1 in Detroit on Feb. 5 and 5-2 at home on March 13. … Franzen has scored goals in three straight games for the Red Wings.