Andy McDonald also scored and Chris Pronger had two assists for the Ducks (26-4-6), who have won 11 of 13 games. Jean-Sebastien Giguere made 27 saves. Daymond Langkow scored for the Flames, who had won 13 of 18. They have lost two of the three meetings with Anaheim while getting outshot 117-68. Miikka Kiprusoff, who handed the Ducks their only shutout loss this season, made 37 saves.
Pahlsson snapped a 1-1 tie with 16:36 remaining. He used Calgary defenceman Mark Giordano as a screen and beat Kiprusoff for his seventh goal.
Penner made it 3-1 less than 5 1/2 minutes later with his 14th of the season. Pronger set up the goal with his 36th point, tops among NHL defencemen. It was the 100th point this season by Anaheim defencemen, the most total in the league. He also assisted on Perry's empty-net goal during a power play with 1:07 remaining.
Giguere faced only one shot by the Flames in the first 11 1/2 minutes, but it found the net when Langkow beat him stick side just 1:40 in with his 11th goal.
McDonald tied it just 39 seconds before the period ended, redirecting a backhanded centring pass from Chris Kunitz for his 11th goal. Teemu Selanne also got an assist, giving the Ducks' No. 1 line 66 points over the last 18 games - five fewer than the Flames' top line of Langkow, Jarome Iginla and Alex Tanguay during the same stretch.
Calgary had the first five power plays and came up empty. The Ducks' received their first advantage at 17:54 of the second period.
Notes: The Ducks have scored at least one third-period goal in 13 consecutive games. ... Anaheim is the only team that hasn't allowed a short-handed goal. ... The Calgary trio of RW Darren McCarty, C Jamie Lundmark and LW Jeff Friesen are among nine NHL forwards who have played at least 27 games and not scored a goal. ... The Ducks have beaten Calgary five straight times at home, and 12 times in 15 meetings in Anaheim. ... Iginla has nine goals and nine assists in his last nine games. ... Anaheim has scored at least one power-play goal in 17 of 19 games.