Kessel has been one of the hottest players in the league over the past 12 days, and it came at the right time for his team.
The Maple Leafs were struggling when Kessel started scoring. He has six goals and eight assists during Toronto's winning streak.
"With Phil, if he continues to get chances, he's got a history behind him and he knows how to score goals," Toronto coach Randy Carlyle said.
The Maple Leafs are on their longest winning streak in eight years after losing four in a row. Toronto has climbed to fourth in the Eastern Conference during its win streak.
The previous time Toronto won six straight was Dec. 23, 2005-Jan. 2, 2006.
"There's a lot more life in the room," defenseman Dion Phaneuf said. "We've got a confidence in our dressing room that we feel good about ourselves."
Kessel was playing for the University of Minnesota during Toronto's previous six-game winning streak, but now he's leading the way for the Leafs ahead of the Sochi Olympics next month, where he will be part of Team USA once again.
"We're winning, that's the most important thing," Kessel said.
"We lost the game in the second period," MacKinnon said. "Their goalie made some good saves for them. We've been playing well of late, but we can't let this game get us down too much."
Colorado generated more early chances but Toronto scored first. Phaneuf sent a puck from his own end off the backboards and Kessel, who got behind the Avalanche defense, put a soft shot past Varlamov 3:56 into the game.
"Dion made a good play, I kind of whiffed on it but it went in," Kessel said.
The Avalanche failed to capitalize on two early power plays, and the Maple Leafs made it 2-0 on their first try on van Riemsdyk's 20th goal at 17:41.
Kadri redirected Jake Gardiner's shot from the point 2:55 into the second period, giving Toronto a 3-0 lead and chasing Varlamov.
Varlamov allowed three goals on 10 shots.
"I think Varly was just a bit tired," Avalanche coach Patrick Roy said. "I almost took him out after the first period. I didn't see in him the same energy that he's shown since the start of the year. When he gave up that third goal there's no need to push that."
Giguere came in and Kessel made it 4-0 with his second of the night and team-leading 26th of the season.
He nearly had his second hat trick of the season, but was denied by Jean-Sebastien Giguere in the third. Kessel finished with eight shots on goal.
"I had a bunch tonight," Kessel said. "I missed some good chances."
Giguere settled down, and the Avalanche finally got on the board when MacKinnon scored on a 2-on-1 break with P.A. Parenteau at 18:35 of the second period.
Colorado turned up the pressure in the third and scored again on MacKinnon's high wrist shot at 5:07. It was his 17th goal of the season.
Colorado pulled Giguere for an extra skater with 2:56 remaining, but Jay McClement scored into the empty net to seal the win.
"We played a decent enough of a hockey game to give ourselves a chance," Carlyle said. "The home team's going to come with a push and we withstood that."
Toronto RW Joffrey Lupul had two assists. ... Kessel extended his point streak to seven games. ... The Avalanche honored referee Brad Watson before the game. Watson was officiating in his 1,000th NHL game. ... Colorado activated Parenteau and D Nate Guenin from the injured list. Parenteau missed 10 games with a sprained left knee and Guenin was out for seven games with an ankle injury.
Copyright by STATS LLC and The Associated Press
DENVER, CO - JANUARY 21: The Toronto Maple Leafs play soccer to warm up prior to facing the Colorado Avalanche at...