"We just wanted to get one before the end of the second to get some momentum and hopefully come back," MacKinnon said.
Instead, Colorado scored another goal before the period ended when MacKinnon set Landeskog up for his 20th of the season with 37 seconds left to make it 4-3.
The Avalanche power play was 1-for-28 in the previous eight games and entered last in the NHL on the road (11.1 percent), but Barrie scored their fourth of the game on a one-timer from the point through traffic to tie it.
"We just wanted to be more aggressive," said MacKinnon, who was playing his second game after missing eight with an upper-body injury. "I feel like we have been doing a poor job of utilizing [Barrie's] one-timer. He has a great shot, wrist shot and one-timer, so we talked yesterday that we wanted to utilize it a lot more, and it worked."
Barrie drew the defense to him before passing to MacKinnon for the game-winner.
"We wanted to load up, Tyson and myself, the best we could, and we talked about it," MacKinnon said. "When I give it to him, it kind of drags everybody over to that one side and hopefully opens up some room for me on the short side, and it worked out."
Colorado goalie Semyon Varlamov made 24 saves, and Anders Nilsson made 29 for Vancouver.