Pyatt was in perfect position in front of the net to tip in Mattias Ohlund's point shot for his ninth goal of the season.
The goal ended an eight-game drought for Pyatt, who was a pleasant surprise for the Canucks at the start of the season with eight goals in his first 18 games.
Goaltender Roberto Luongo was brilliant for the Canucks, making 40 saves. He preserved the win in the third period by stopping Joe Sakic on a breakaway as Sakic left the penalty box.
The Canucks needed Luongo's virtuoso performance as their offence has struggled badly. Vancouver had scored only three goals in its previous last four games and two or less in 13 of their last 15 starts.
Daniel Sedin also scored for Vancouver to end a stretch of 10 games without a goal.
John Michael Liles replied for the Avalanche.
Vancouver moved back to .500 at 13-13-1, enough to get out of the Northwest Division cellar and into third place, a point ahead of the Avalanche and the idle Calgary Flames.
Colorado, which beat the Canucks the first three times the clubs met, is also at .500 at 12-12-2.
The victory was crucial to the Canucks who are struggling to stay in contention for a playoff spot. They still have a dismal 2-6-1 record against Northwest Division foes.
Liles tied the game early in the third period with his sixth goal of the season. He finished a two-on-one break with Andrew Brunette when he dived across the crease to beat goalie Roberto Luongo on a backhand.
The goal came after Luongo had moved across his crease to foil Marek Svatos on another good chance.
Daniel Sedin, who has scored three times in four games against Colorado this season, gave Vancouver a 1-0 lead entering the third period on the first power-play goal. It came after the Canucks failed to register a shot on goal during a 53-second two-man advantage.
But Sedin went to the net with three seconds remaining in the second penalty to slip Sami Salo's rebound between the pads of Peter Budaj who started the second period.
Jose Theodore, who had stopped 90 of 95 shots in winning three games against Vancouver this season, left the game with a hip injury.
Luongo was sharp at the end of the period when he went down to block two close-in chances by Milan Hejduk.
He also kept the game scoreless in the first period when Vancouver was outshot 14-6 and couldn't draw any energy from a spirited fight between Rick Rypien and Ian Laperriere of the Avalanche.
The Canucks gave up three gilt-edged scoring chances early, including Sakic's attempt eight seconds after the puck dropped.
Luongo denied Sakic again when after the Avalanche centre stripped the puck from Pyatt in the neutral zone and broke in on the Vancouver netminder, who made a sparkling pad save.
Earlier in the period, a video review showed Markus Naslund kicked the puck into the net behind Theodore and the goal was disallowed.
NOTES: Canuck Matt Cooke was out with an upper body injury. ... Physical forwards Tyler Bouck and Rypien were in the Vancouver lineup after being called up from AHL Manitoba. ... Jordan Leopold returned to the Avalanche blue line after off-season hernia surgery. ... The game matched the NHL's two iron men. Karlis Skrastins of Colorado has played 459 consecutive games, Brendan Morrison of Vancouver has played 457. ... 11 of Vancouver's next 17 games are against division rivals. Edmonton is here Monday.