Colorado (19-46-3) got 34 saves from Calvin Pickard, but lost for the 14th time in the past 18 games (4-13-1). Pickard stopped Max Domi twice on breakaways in the third period and Domi missed a chance at an empty-net goal when his shot was smothered by defenseman Erik Johnson.
"They have some good, young talent and some good speed," Pickard said. "But it was right there for us and we had a good push at the end but their goalie made some good stops."
The Avalanche have been shut out an NHL-high 12 times this season.
"I thought both goalies were good but we missed the net on too many of our good chances, especially in the first period," Colorado coach Jared Bednar said. "All of our best chances were missed on, and then as the game went on Smith was good in goal. [Pickard] was good for us, they got their one and that was it."
Neither team had a shot for the final 9:14 of the first period, but Arizona went up 1-0 at 3:49 of the second period on the rush.
Peter Holland skated into the Colorado zone and found the trailing Perlini for a hard wrist shot. It was his 13th goal of the season.
"It was a nice little chip up the wall by [Tobias] Rieder to get it started," Perlini said. "I can't remember if I was screaming for the puck or not. Usually I am."
Pickard stopped 18 of 19 shots in the second period, denying Jamie McGinn, Alex Goligoski and Rieder in succession before stopping Rieder again with a dynamic glove save.