MacKinnon, who also had two assists, won it with a one-timer from the left circle. He has 43 points (16 goals, 27 assists) during a 20-game home point streak.
Valeri Nichushkin scored two goals, Jonathan Drouin had a goal and an assist, and Cale Makar had three assists for Colorado (24-11-3), which has won three in a row and is 5-0-1 in its past six. Alexandar Georgiev made 18 saves, and Mikko Rantanen had two assists.
Brock Nelson had a goal and an assist for the Islanders (17-10-10), who have lost three of four (1-2-1). Semyon Varlamov allowed one goal on 12 shots before leaving in the first period with an undisclosed injury. He was replaced by Ilya Sorokin, who made 23 saves.
Pierre Engvall gave the Islanders a 1-0 lead at 5:39 of the first period. Nelson’s pass jumped over the stick of Samuel Girard in the neutral zone, allowing Engvall to skate in on a breakaway and beat Georgiev five-hole.
Devon Toews tied it 1-1 at 6:11 with a shot from the high slot that deflected in off Mike Reilly.
Nelson put the Islanders back in front 2-1 at 19:28 of the first with a power-play goal. He split Makar and Toews on his entry into the offensive zone before shooting five-hole on Georgiev.
Simon Holmstrom extended the lead to 3-1 at 1:09 of the second with a wrist shot glove side from the top of the right circle.
Nichushkin cut the lead to 3-2 shortly after a power play expired at 4:18. Sorokin made the initial save on Girard, but the rebound hit off Nichushkin, who knocked the puck into the open net.
Drouin tied it at 3-3 at 8:24 with a half slap shot over Sorokin's right shoulder from the high slot.
Alexander Romanov responded for New York to make it 4-3 at 10:18. His one-timer from the left point redirected five-hole off the skate of Jack Johnson.
Nichushkin tied it 4-4 at 12:21 of the third period. Makar broke his stick on a slap shot at the point, but the puck went right to MacKinnon along the goal line, who quickly passed it in front to Nichushkin for a tap in.