DENVER -- John Gibson made 33 saves to help the Anaheim Ducks defeat the Colorado Avalanche 4-1 at Pepsi Center on Thursday.
Jakob Silfverberg, Rickard Rakell, Ryan Kesler and Corey Perry scored for the Ducks (23-13-8), who are 4-1-0 in their past five games and 5-1-3 in their past nine.
"Our goaltending has been pretty good throughout the whole season," Ducks captain Ryan Getzlaf said. "There has been maybe one or two games that I can think of that they wanted to be a little bit better. For the most part, those guys have played well."
WATCH: All Ducks vs. Avalanche highlights
Gibson, who played his 100th NHL game, did not allow a goal on 26 shots faced in the second and third periods. He's 7-1-3 in his past 11 starts.
"They had a couple of spurts where they came pretty hard," Getzlaf said of Colorado. "In the second period they came pretty hard and our goalie made some saves, but I thought for the most part we did a pretty good job moving the puck effectively and getting out of our zone."
Nathan MacKinnon scored for the Avalanche (13-26-1), who have lost 11 of their past 12 home games (1-10-1).
The Ducks killed back-to-back power plays in the third period before Perry scored into an empty net with 1:36 remaining for his eighth goal, first in 14 games.
"The biggest thing that stands out for me is we get a chance, or two grade A chances with guys walking right down the slot, and we miss the net both times, [Nikita] Zadorov and MacKinnon," Avalanche coach Jared Bednar said. "You're trying to earn some quality scoring chances, and it doesn't come easy for us, and when we get there we miss the net."
Video: ANA@COL: Kesler takes advantage of Varlamov's error
Kesler put the Ducks in front 3-1 at 6:03 of the second period after Avalanche goalie Semyon Varlamov stopped defenseman Shea Theodore's wraparound. The puck sat in the crease and Kesler tapped it in for his 17th goal.
"I turned a second too late," said Varlamov, who made 28 saves in his first game since Dec. 22. "I have to seal the post better."
Silfverberg gave the Ducks a 1-0 lead at 3:52 of the first period on a 2-on-1 rush for his 13th goal. He has two goals and two assists in a three-game point streak.
"It's always good to score the first one on the road," Ducks coach Randy Carlyle said. "It kind of gets things going in your direction and puts a little doubt in their minds."
MacKinnon tied the game 1-1 at 5:24 on a breakaway, putting a backhand by Gibson's blocker for his 11th goal.
Rakell put the Ducks in front 2-1 at 6:15 with his 17th goal. He took defenseman Kevin Bieksa's pass above the right circle and scored through a screen.
Video: ANA@COL: Rakell buries wrist shot through traffic
Goal of the game
Silfverberg blocked Francois Beauchemin's shot in the Anaheim end, raced down right wing on a 2-on-1 and beat Varlamov to the glove side.
Video: ANA@COL: Silfverberg nets a nifty wrister on the rush
Save of the game
Gibson extended his left pad to stop Carl Soderberg at the edge of the crease at 7:30 of the third period on a power play after MacKinnon threw the puck in front.
Highlight of the game
MacKinnon scooped up a loose puck between three Ducks in the neutral zone and used his speed to move in alone on Gibson to tie the game.
Video: ANA@COL: MacKinnon scores impressive breakaway goal
Unsung performance of the game
Avalanche center Matt Duchene didn't have a point but won 14 of 16 faceoffs.
They said it
"He's always kept a good spirit, he's working really hard every night, and he's doing other things well, he just hasn't been able to find the back of the net as much as he usually does." -- Ducks forward Rickard Rakell on Corey Perry, whose empty-net goal was his first goal since Dec. 13 against the Dallas Stars
"There's certain things we haven't done every game going through the first half of the season. One is when we get down we've had a tendency to pack it in. I don't want to see that in the second [half]. Those things like that annoy me. We have to keep fighting and trying to get better. We have to eliminate those gaps in our game." -- Avalanche coach Jared Bednar
Need to know
Getzlaf had an assist on Rakell's goal after missing four games with a lower-body injury. … Avalanche forward Jarome Iginla played his 1,514th NHL game, tying Steve Yzerman for 15th place. ... Colorado forward Blake Comeau played his 600th NHL game. ... The Ducks assigned forward Chris Wagner to San Diego of the American Hockey League. He had three goals in 25 games.
Ducks: At the Arizona Coyotes on Saturday (8 p.m. ET; FS-A+, PRIME, NHL.TV)
Avalanche: Host the Nashville Predators on Saturday (3 p.m. ET; ALT, FS-TN, NHL.TV)
Video: Ducks defeat Avalanche, 4-1, behind balanced offense