Montreal left wing Max Pacioretty sustained a lower-body injury with 7:30 left in the first period when he was checked into the goal by Carolina's Brett Bellemore and did not return, putting into question his availability as a member of the U.S. Olympic hockey team.
Pacioretty, a native of New Canaan, Conn., was scheduled to leave for Sochi, Russia, on Sunday to join the Americans, which opens play on Thursday against Slovakia.
Goalkeeper Carey Price finished with 31 saves for the Canadiens.
Carolina's Drayson Bowman tallied his fourth goal of the season.
Carolina opened the scoring in the second period. Drayson Bowman scored his fourth goal of the season with a rising shot from the top of the right circle at 5:42 of the middle period. Bowman took advantage of a screen by Tuomo Ruutu that kept Price from making a play on the puck.
Desharnais tied the game at 1 at 17:52 of the second when he converted a 3-on-2 rush for the Canadiens.
It took only 1:25 for Montreal to take the lead as White scored on a rebound at the top of the crease to make it 2-1 with 42.7 seconds left in the second period.
Desharnais gave Montreal some breathing room early in the third period with his 11th goal of the season. It marked his first multigoal game of the season.
Gionta finished the scoring for Montreal with an empty-netter at 17:23 of the third period.
Neither team took advantage of their power-play opportunities. Montreal was 0-for-1 with the man-advantage, while Carolina failed on two power plays.
NOTES — Carolina C Riley Nash extended his point streak to a career-best three games (2g, 1a). ... Hurricanes D Justin Faulk matched his season-best point total with 22 as he picked up an assists against Montreal. ... Canadiens D Andrei Markov got his 26th assist.