Martin Fehervary scored, and Darcy Kuemper made 21 saves for the Capitals (30-27-6), who had lost seven of eight (1-7-0).
Trevor Zegras had a goal and an assist, Troy Terry scored for the fourth straight game, and John Gibson made 36 saves for the Ducks (20-34-8), who were trying to win four in a row for the first time this season.
Zegras did not play the final 12:27 of the second period after getting penalized for unsportsmanlike conduct.
"Trevor is a highly, highly skilled kid, he's got a ton of passion for the game, he cares, and we're just trying to get those emotions into his game and not into the referees," Anaheim coach Dallas Eakins said. "He paid his price on the bench and channeled it in the right way in the third."