Kovalchuk's three goals came within a span of about 7 minutes in the second period, which ended with Atlanta up 6-1. The hat trick was the 11th of his NHL career.
Kari Lehtonen made 31 saves for Atlanta, which won for just the third time in 10 games.
Teemu Selanne had two goals and an assist and Bobby Ryan and Andrew Ebbett each contributed a goal and assist for Anaheim.
Jean-Sebastien Giguere was pulled after allowing five goals on 25 shots. Jonas Hiller finished with 15 saves on 17 shots the rest of the way for the Ducks, who were trying to put together their first three-game winning streak since they won four straight Nov. 22-30.