Selanne and Ryan Getzlaf had power-play goals and Samuel Pahlsson also scored for the Ducks, who are off to the best start in franchise history at 17-2-6. Anaheim is tied with Buffalo for the most points in the league.
Todd Marchant scored an empty-net goal, and defenceman Francois Beauchemin had two assists.
Kristian Huselius had two goals and Daymond Langkow scored a power-play goal in the final minute for the Flames, whose 3-0 win over the Ducks on Nov. 10 in Calgary was Anaheim's first loss in regulation after an NHL-record 12-0-4 start.
Miikka Kiprusoff made 34 saves for the Flames after recording shutouts in his previous two starts against the Anaheim.
Getzlaf put the Ducks ahead to stay with a 20-foot wrist shot that beat Kiprusoff high to the stick side less than five minutes after Huselius tied the score for the second time. Getzlaf's ninth goal came while Calgary's Byron Ritchie was serving a slashing penalty.
Ducks regular goalies Jean-Sebastien Giguere and Ilya Bryzgalov both were sidelined because of what the team described as lower-body injuries, so the Ducks plucked the 21-year-old Wall from Portland, Maine, of the AHL as insurance if Giguere couldn't answer the bell.
Wall made 19 saves in all. He signed with Anaheim as a free agent in September 2005, and was 5-1-1 with a 3.23 goals-against average in seven games this season with Portland. He played junior hockey with Prince George, B.C., and Everett, Wash., teams in the WHL.
His backup Sunday was David McKee, an American out of Cornell University who has been with the Ducks since Tuesday after being promoted from the Augusta Lynx - Anaheim's developmental affiliate in the ECHL. McKee has yet to play in an NHL game.
Wall stopped four shots before Huselius tied the score 1-1 at 11:17 of the opening period with the teams skating 4-on-4. Dion Phaneuf faked a slap shot in the high slot before passing to Huselius, who skated through the left circle and backhanded the puck over Wall's glove from the edge of the crease.
Selanne regained the lead for Anaheim at 5:13 of the second period while Calgary's Chuck Kobasew was off for hooking. Ducks defenceman Chris Pronger was nonchalantly ragging the puck in his own end, then suddenly snapped a long pass that found Selanne breaking across the Calgary blue line. The nine-time all-star swooped in on Kiprusoff and beat him to the stick side with a short backhander.
Selanne added his 10th goal of the season and 502nd of his career with 3:50 to play for a 4-2 lead. It was his 78th career game-winning goal and 45th with Anaheim, breaking the franchise record he shared with Paul Kariya.
Anaheim opened the scoring at 8:39 when Pahlsson got a cross-ice pass in the slot from Beauchemin, spun around and beat Kiprusoff to the glove side with a 35-foot wrist shot for his sixth goal.
Notes: Wall is the 12th goalie to play for Anaheim, which joined the NHL in 1993-94. The only others who won in their first start with the Ducks were Bryzgalov and Martin Gerber - both winning 3-2 in overtime . . . There are 20 forwards in the NHL who have played in at least 18 games and have yet to score a goal. The Flames have three of them - LW Jeff Friesen, RW Darren McCarty and C Jamie Lundmark . . . Friesen, who has reached the 20-goal plateau five times in his NHL career and topped out at 31 with San Jose in 1997-98, has scored only four goals in 69 games since the lockout . . . Selanne's goals made him the second player to record 600 points with the Ducks. The other is Paul Kariya (669). Selanne has 1,070 points in his NHL career.