Pavel Francouz made 31 saves in his 10th victory and continued his impressive rookie campaign.
MacKinnon extended his point streak to six games with a pretty bar-down goal which went on to be the eventual game-winning goal.
Corey Crawford made 32 saves, but Chicago fell for the third time in four games.
Francouz continuing to push for more playing time
The Czech goalie returned to the net and the Avalanche returned to their winning ways. Francouz has made a strong push to be considered the starting goaltender with a 5-0-1 record in his past six games and a stellar 10-2-1 overall mark this season.
His calm demeanor in the crease has inspired confidence in the Avalanche skaters and allows them to play with a natural freedom on the ice. Philipp Grubauer returned from a lower-body injury and started the only regulation loss during the 9-1-1 stretch for Colorado.
Francouz has only played 15 games this season but could find himself in between the pipes when the puck drops in Game 1 of the Stanley Cup Playoffs.
Colorado general manager Joe Sakic paid a hefty price this summer to bring in Andre Burakovsky but the talented Russian winger has fit in nicely with the Avalanche. The 24-year-old notched his 13th goal of the season with a nifty wrist shot from the top of the left circle that caught Corey Crawford off guard to give Colorado a 3-1 lead in the second period.
The Avs’ biggest roster challenge was lengthening the lineup and getting the necessary secondary scoring needed to advance in the postseason. Burakovsky has helped fill the need and is on track to surpass his career high in points and set himself up for a nice payday this summer.
Duncan Keith returned for Chicago after missing the previous nine games with a groin injury. The alternate captain recorded six shots on goal in 23:16 of ice time.