His 15th goal this season came at 5:04 of the third, snapping a 3-3 tie. It was his 617th career game in a Ducks sweater, passing Steve Rucchin for the all-time lead in franchise history.
Goalie Jonas Hiller was credited with 34 saves on 37 shots for the Ducks, who had lost five of their previous seven games.
Rookie forward Bobby Ryan had scored one goal in five straight games, but did not score Saturday.
John-Michael Liles, Milan Hejduk and Ian Laperriere all scored once, while netminder Peter Budaj was beaten four times on 31 shots in the Avalanche's fourth loss in a row and seventh in their last eight contests.
Both clubs finished 1-for-5 on the power play.