Rantanen had a goal and two assists, MacKinnon had three assists, and Darcy Kuemper made 29 saves for Colorado (18-8-2), which hadn't played since a 5-2 loss to the Nashville Predators on Dec. 16. The Avalanche have won nine straight at home.
"I don't think anyone felt amazing tonight," MacKinnon said. "Physicality, lungs, legs, whatever; it was a grind for sure, but we got it done. It's always nice to get into a rhythm here, so hopefully, we can finish with no more delays. Coming back from 2-0 is awesome. There was no panic on the bench, guys stayed calm."
Cam Fowler and Sam Carrick scored, Kevin Shattenkirk had two assists, and Gibson made 32 saves for Anaheim (17-11-7), which is 0-2-2 in its past four games.
The Ducks were without center Ryan Getzlaf, who was placed in NHL COVID-19 protocol before the game. Forward Max Comtois was activated from protocol after missing two games.
"It's one of those nights," Anaheim coach Dallas Eakins said. "We can sit and talk about how good we played for 58 minutes, but we lost the game. It doesn't feel very good."
Eakins said a poor line change, along with other mistakes, enabled Colorado to score the winning goal.
"There were three breakdowns," he said. "We've got a 50-50 puck that's just inside the red line that we didn't get much of, and we had two guys changing with the puck right in front of our bench, [or] at least trying to change. Fatigue makes cowards of us all and when your heart rates are up, your brains turn off, and our brains certainly turned off there."
The Ducks took a 1-0 lead on Carrick's goal at 1:55 of the first period. Troy Terry gave the puck to Shattenkirk for a shot, and Carrick converted the rebound.