MacDonald scored on a wraparound at 17:15 to make it 2-1. It was the defenseman's second goal in eight NHL games and his first since his NHL debut Oct. 6, 2018, with the Florida Panthers.
"It's a great feeling for some of us to get our first and get the monkey off our back, so to speak, and to come out of here with two wins," MacDonald said.
With Coyotes defenseman Oliver Ekman-Larsson off for tripping, Gabriel Landeskog made it 3-1 at 1:58 of the third period when he scored on the rebound of his own shot after Raanta made the initial save on Mikko Rantanen.
"It was a one-goal game against a good hockey club, we're still in the game and we can get points out of it," Ekman-Larsson said. "But I took a stupid penalty, and it went downhill from there."
It was Landeskog's 202nd NHL goal, tying him with Peter Forsberg for third in Avalanche history behind Milan Hejduk (375) and Joe Sakic (391).
"I probably had three or four posters of 'Foppa' on my wall as a kid, so I think it goes without saying he was a role model for me, and somebody I looked up to," Landeskog said.
It was Landeskog's first goal in 11 games. He and Rantanen played most of the second half of the game on a line with MacKinnon after starting it with center Nazem Kadri.
"We want contributions from as many guys as we possibly can, but I think we've been a little bit snakebitten the last couple of weeks," Landeskog said. "We've been creating scoring chances but not capitalizing. … I think tonight we got rewarded for the hard work."