Barrie scored the tying goal for Colorado at 7:16 of the third period to knot the contest at 2-2, but Vancouver took advantage of a late power-play opportunity.
Sven Baertschi scored his second of the night on a bouncing puck off a rebound with 3:37 left to give the Canucks a lead they would hold until the final horn. The man-advantage goal came while the Avs were serving a delay of game infraction for shooting the puck over the glass.
"We played a good, solid hockey game except for eight to 10 plays," Avalanche head coach Jared Bednar said. "A couple of them they didn't score on them, a couple of them were needless penalties for me, still a handful of turnovers, and it ends up costing us the hockey game. Some of the penalties we're taking, it's getting repetitive, but that's what's biting us every night."
The Avs went three for four on the penalty kill, but one of Vancouver's goals in the second period came after the home team hemmed Colorado in its own zone for the majority of the man-up chance. The Canucks then scored four seconds after the slashing penalty expired.
"We know what their special teams are like," Bednar said. "We can't afford to take penalties and for me, some of the ones we're taking are too costly and they're needless. Then some of our turnovers, too, some of the things that we talk about on a daily basis, we keep repeating the same mistakes and they keep costing us hockey games."
Colorado pushed hard after Baertschi's score, pulling goaltender Calvin Pickard for the final 1:32 of play but couldn't get the equalizer.
"I thought we were pretty solid but again, with 5-on-5 we were a good team tonight," said Nathan MacKinnon. "On special teams, we had a power-play goal but took way too many penalties, and that was the difference in the game.