Adam Henrique, Kiefer Sherwood and Ondrej Kase scored for Anaheim in the second period after Evgeni Malkin and Bryan Rust scored for Pittsburgh in the first. Ryan Getzlaf scored into an empty net for the 4-2 final score with 49 seconds remaining.
John Gibson made 28 saves for Anaheim (19-11-5), which has won four straight.
WATCH: [All Ducks vs. Penguins highlights]
"We were pretty soft with the puck in the first period," Ducks coach Randy Carlyle said. "We allowed them, with their speed and their skill, to dictate the pace of the game. We didn't really create any grind game. If you noticed, once we started to play more of a dump-and-chase, strong forecheck, we started to get some results."
Casey DeSmith made 32 saves for the Penguins (15-12-6), who lost in regulation for the second time in eight games (5-2-1).
Pittsburgh has surrendered a two-goal lead in each of its past three games.
"We have to sustain momentum when we get it," Penguins coach Mike Sullivan said. "I thought we played 40 minutes tonight. We didn't play 60. That second period, we didn't play as well as we're capable. We start off on the very first shift, we take a penalty. It snowballs from there.
"We take two penalties in the first six minutes of the second period, and we lose momentum. So we've got to have a little bit more push back in those situations."