Victor Olofsson had a goal and an assist, Parker Kelly and Artturi Lehkonen each scored a goal, while Martin Necas had two assists and Scott Wedgewood made 22 saves for the Avalanche (34-5-8), who are 3-3-1 in their past seven games.
Ethen Frank had a goal and an assist, Jakob Chychrun scored a goal, and Charlie Lindgren made 39 saves for the Capitals (24-20-6), who have lost three straight and are 2-5-0 in their past seven games.
Kelly scored to make it 1-0 Colorado at 5:54 of the first period. He redirected Cale Makar’s point shot past the left leg of Lindgren stick side from between the circles.
Chychrun tied it 1-1 with a power-play goal at 7:27 when his wrist shot from the blue line went through traffic far side past Wedgewood's glove.
MacKinnon scored a power-play goal to make it 2-1 at 7:03 of the second period. He skated the puck into the Washington zone, went to the right of Capitals defenseman Martin Fehervary, and fired a wrist shot far side past Lindgren's glove.
Olofsson extended it to 3-1 at 15:58 after he snapped the rebound of Josh Manson’s point shot short side over the shoulder. Brock Nelson won a left-side face-off and passed back to Manson, who fired a wrist shot from above the left circle to set up the play.
Frank cut it to 3-2 at 16:15 when he received a centering pass from Ovechkin at the top of the crease and went from his forehand to his backhand and past the right leg of Wedgewood. Frank snuck in behind the Avalanche defense and was all alone in front on the play.
Makar appeared to make it 4-2 at 11:05 of the third period, but the Capitals challenged the play for goaltender interference and the goal was overturned following video review.
Lehkonen pushed it to 4-2 at 12:32 of the third period when he finished MacKinnon’s crossing pass short side past Lindgren's glove. MacKinnon stole the puck from Capitals forward Justin Sourdif at the right boards and skated down on a 2-on-1 with Lehkonen before making the pass across.
MacKinnon scored to make it 5-2 at 16:30 after he finished a crossing pass from Necas inside the left post from the slot. Capitals defenseman Rasmus Sandin went for a backhand bank pass behind his own net and Necas tipped the puck, which fluttered right out to him at the right post for the pass on MacKinnon's 1,100th career point.
Sourdif, who missed the past three games with an upper-body injury, finished minus-2 with one shot in 15:21 of ice time.
Avalanche forward Valeri Nichushkin didn’t play due to an upper-body injury. Alex Barre-Boulet was recalled from Colorado of the American Hockey League on Monday and made his Avalanche debut. He finished with one assist in 3:46 of ice time.