Martin Havlat and defenseman Dan Boyle also scored for the Sharks during a three-goal second period.
Joe Thornton and Joe Pavelski each had a pair of assists.
Lee Stempniak scored for Calgary, which led 1-0 after the opening period.
With the victory, the Sharks spoiled the debut of new Flames coach Bob Hartley.
As other NHL teams have done at home openers to soothe hurt fan feelings after the lockout, the Flames discounted food, drink and merchandise Sunday. The stores at the Saddledome were doing a brisk business 90 minutes prior to the game.