Montreal outshot Colorado 40-22 and won for only the second time in six games.
The Avalanche were coming off a 4-2 win Monday night in Toronto and their legs looked heavy to start the game. Colorado fired just five shots on Price in the first, none too dangerous.
After a scoreless opening period, Deslauriers put the Canadiens in front at 5:42 of the second. Drouin's shot was blocked by Mark Barberio, but Deslauriers got his stick on the loose puck in the slot and beat Bernier through his legs for his career-best seventh of the season.
The goal put the Avalanche behind for only the second time in 11 games. It also was the first time they conceded the first goal in a game since their last defeat.
Galchenyuk increased Montreal's lead with a power-play goal at 7:58 of the second. After sustained puck possession by the Canadiens, Drouin connected with Galchenyuk, who fired a one-timer past Bernier.
Drouin made it 3-0 with his seventh goal at 12:36 of the third after a great individual effort by Jeff Petry along the boards to get him the puck. It was Drouin's first three-point game of the season.
MacKinnon ruined Price's shutout bid two minutes later with a shot from the point before Gallagher scored his 17th into an empty net.
Compher cut it to 4-2 with 12 seconds remaining.
Colorado's longest franchise winning streak was 12 games, in 1999. ... Deslauriers' previous high was six goals in 70 games with Buffalo in 2015-16.