Defenseman Martin Marincin scored the game-winner with 4:52 left in the third period.
The Saddledome in late June sustained significant damage caused by record-setting floods throughout southern Alberta that forced more than 100,000 evacuations.
"It's just unbelievable to put this great rink back on its feet in so few weeks," Flames coach Bob Hartley told the team's website before the game. "It's just unbelievable. It allows us to be back in the saddle tonight and have fun."
Oilers goalie Jason LaBarbera played 31 minutes and stopped all 12 shots he faced.
"I live here during the summer so I got to see a lot of it," LaBarbera told the Oilers website. "Obviously, everyone saw the pictures of what it was like down here. They did a great job. It was pretty impressive for them to be able to turn it over as fast as they did. I know there was a lot of skepticism as far as if it was going to be ready in time for this game tonight."
Ryan Jones scored 3:47 into the first period, and David Perron, acquired from the St. Louis Blues this offseason, had a goal at 13:34 of the second to give Edmonton a 2-0 lead against Flames starter Joey MacDonald.
Calgary tied it 2-2 early in the third period on goals by Emile Poirier at 2:43 and Mike Cammalleri at 6:31 against Richard Bachman. Poirier hit the post minutes prior to the goal by Marincin, scored on Joni Ortio.
The Flames' home opener is Oct. 6 against the Vancouver Canucks.
Flames 6, Oilers 5 (SO): In Edmonton, Oilers forward Taylor Hall started his experiment as a center with a goal 24 seconds into the game, but the Flames scored three in the third period to tie it before winning in a shootout.
Hall's wrist shot went off the glove of Flames goalie Karri Ramo. The usual left wing won 65 percent of his faceoffs in the split-squad game played at Rexall Place.
Ryan Smyth, Kyle Platzer, Mark Arcobello and Jesse Joensuu each had a goal for Edmonton; 13 Oilers had at least one point. Starting goalie Devan Dubnyk made 12 saves on 13 shots in his 28 minutes, before Roy allowed four goals on 22 shots.
Capitals 4, Jets 3 (SO): In Belleville, Ontario, two former Belleville Bulls goaltenders put on a show for their hometown fans.
Philipp Grubauer, who relieved Braden Holtby midway through the second period, made 25 saves through overtime then went 4-for-4 in the shootout to lead the Washington Capitals to an entertaining win against the Winnipeg Jets in the Kraft Hockeyville game at Yardmen Arena.
Edward Pasquale went the distance and stopped 36 of 39 shots for the Jets. The only goal in the shootout came in the fourth round, when Capitals defenseman Mike Green scored on a wrist shot for the game-winner.