Avalanche captain Gabriel Landeskog was serving a slashing penalty when Baertschi scored the winning goal, his second against Colorado this season.
"It was a dumb play on my part and it ends up costing us," Landeskog said. "We stayed out of the box the whole time until then."
The Avalanche (13-31-2) have lost seven games in a row (0-6-1) and are 1-14-1 in their past 16 home games.
Colorado tied the game 2-2 on Matt Nieto's goal at 6:18 of the third period. Nieto scored from the right circle with a shot past goalie Jacob Markstrom's right arm for his second of the season.
The Avalanche pulled within 2-1 at 16:28 of the second period on a goal by Mikko Rantanen, his seventh of the season, first in nine games. Defenseman Nikita Zadorov took a shot in the slot, the puck trickled between Markstrom's pads into the crease, and Rantanen poked it in.
"I thought I had it for sure and then it squeezed through," said Markstrom, who made 30 saves. "It's very frustrating because I felt like we played a really, really good game and they didn't have much at all. Then to let in a goal like that to give them life and then now it's a hockey game all of a sudden."
Baertschi gave the Canucks a 1-0 lead at 6:55 of the first period when he knocked a loose puck behind Pickard during a goalmouth scramble for his first goal in nine games.
The Canucks made it 2-0 at 7:04 of the second period on a goal by Markus Granlund. Zadorov lost the puck behind the net and Granlund tucked it inside the right post for his 12th goal.
"We take a penalty on a backcheck in the third period ... you look at the goals we gave up, a turnover behind our own net, unforced basically, and it ends up in the back of our net, and the power play in the third period," Avalanche coach Jared Bednar said. "We should know better by now."