DENVER -- Antoine Vermette made his 700th game special.
Jordan Szwarz also had a goal for the Coyotes, who won for only the second time in five games.
Phoenix has struggled of late, going 3-5-2 in its past 10 games to slip to ninth in the Western Conference. Tuesday's win pulled the Coyotes within a point of Colorado.
Vermette outscored the Avalanche on his own with two goals in a span of 7 minutes, 2 seconds to mark his milestone game.
"Good timing," he said of his two goals. "If it happens this way, I'll take it."
Despite a strong start to the season, Colorado is eighth in the Western Conference and has struggled to score goals lately. The Avalanche have only 15 in their past eight games.
"We are going to have to find better ways to score goals," coach Patrick Roy said. "We are going to have to drive that net a little more. We are going to spend more time in front and might have to take more good shots. It might have to be ugly goals before the confidence comes back."
After a scoreless first half of the game, the goals came quickly. Vermette got the first one when he scored on a give-and-go with defenseman Keith Yandle at 8:31 of the second period.
"These guys make some great plays," Vermette said. "Yands on the first goal, great pass, good feed on his backhand."
Szwarz made it 2-0 a little more than three minutes later when he scored on Jeff Halpern's rebound.
Colorado got back in the game briefly with a little help from the Coyotes. Bordeleau charged at defenseman Michael Stone, whose pass from behind the net clipped off Bordeleau and hit the back of Greiss' skate and into the net.
"I just left it," Greiss said. "I didn't see the other guy coming from the other side, but it just bounced off my skate and went in."
It was the only blemish for Greiss, who woke up Tuesday not expecting to play but was told he would start when Mike Smith became ill in the morning. Greiss responded with another solid performance against Colorado, and is 4-0 with a shutout against the Avalanche.
"[Smith] was struggling this morning with illness and just felt like there was no use putting him in if he's not 100 percent," coach Dave Tippett said. "Greiss went and played a great game for us."
His teammates helped him out by restoring the two-goal lead.
After Bordeleau cut the lead in half, Vermette quickly responded with his ninth goal when he scored off Oliver Ekman-Larsson's rebound 1:05 later.
"That was one you hate to give up, kind of a fluky one, but I like the way our guys stayed with it," Tippett said.
"We aren't scoring enough goals," Stastny said. "Our guys have to do more to put goals on the board. Plain and simple."
The Avalanche couldn't mount much of a rally early in the third. They had only five shots in the first 13 minutes of the period before putting pressure on Greiss. Varlamov came off for an extra skater in the final minute, but Colorado managed just one more shot.
"Their goalie made some great saves," Roy said. "I think we need a bit of confidence offensively. The chances are there, it's just a matter of time before they go in. During that time we're going to have to find other ways to score."
Vermette's only hat trick was April 3, 2008, when he was playing for Ottawa. ... Coyotes RW Shane Doan (illness) missed his second successive game. ... Avalanche C Alex Tanguay had a setback in his return from a knee injury and will likely miss more time. He was expected to return this weekend, but a hip injury will keep him out longer. ... Phoenix D Zbynek Michalek returned to the lineup after a nine-game absence because of a lower-body injury.