MacKinnon has 28 points (eight goals, 20 assists) during his streak.
Tyler Johnson scored the go-ahead goal early in the third period, and Ryan Donato had a goal and an assist for the Blackhawks (10-20-1), who ended a four-game skid. Connor Bedard and Nikita Zaitsev each had two assists, and Petr Mrazek made 35 saves.
Valeri Nichushkin scored twice for the Avalanche (19-11-2), who had won three of four. Alexandar Georgiev made 19 saves.
Donato gave Chicago a 1-0 lead at 7:29 of the first period, putting in the rebound off Zaitsev’s shot from the right circle. Bedard set up the play with a cross-ice pass to Zaitsev.
Nichushkin tied it 1-1 on the power play at 9:22 off a pass in the slot from Jonathan Drouin. MacKinnon had the secondary assist.
Nichushkin gave Colorado a 2-1 lead at 9:25 on his second power-play goal, putting in the rebound of his own shot from in front of the crease.
Lukas Reichel tied it 2-2 at 12:56 after taking a pass in the slot from Bedard and putting a wrist shot past the stick of Georgiev.
Johnson put the Blackhawks ahead 3-2 at 8:19 of the third on the power play, tipping in a pass from Nick Foligno from the left circle.