Desharnais scored in regulation and in a shootout as the Canadiens pulled out a 5-4 win over the Minnesota Wild, despite blowing a three-goal lead in the third period on Thursday.
The Wild trailed 4-1 and scored three times in the final 3:53 of regulation time. Matt Kassian got his second of the game, and Dany Heatley scored before Devin Setoguchi tied it with the Wild playing with six attackers with 10 seconds to play.
"That was a strange one," Montreal coach Randy Cunneyworth said. "It wasn't textbook but those things happen. I'm just glad for the W."
Boos poured down from the seats for a team that has blown leads repeatedly this season. But Desharnais got the only shootout goal and Setoguchi lost the puck, then fell on the Wild's last attempt to give Montreal the win, ending a season-high five-game losing streak.
"They were desperate," Montreal goalie Carey Price said. "They came at us hard, threw pucks at the net and they got fortunate a couple of times. It happens. It was pretty wild. It was tough emotionally, I guess."
Desharnais, who had three points, added a goal with both teams a man short.
Kassian scored his first two NHL goals for Minnesota, 3-7-3 in its last 13 games.
Montreal played the Wild for the first time since an 8-1 win in Minnesota last season sparked by Subban's hat trick.
Subban said the Wild seemed to gain momentum after Pacioretty was checked to the ice while skating in for what would have been an easy empty-net goal late in the third. There was no call in a game that had featured some diving earlier on.
"That was quite a game," said Wild coach Mike Yeo, whose team salvaged a point to move to five points behind Dallas for eighth place in the Western Conference. "It's too bad we couldn't get that second point.
"I'm impressed with how our guys battled in the third. We overcame a lot of adversity. A tough call early and we were down 5-on-3 for quite some time. Then we lost our starting goalie. So we were in a hole."
A sellout of 21,273 was announced, but there were hundreds of empty seats on a snowy night for a Montreal squad that started the day in last place in the Eastern Conference.
A couple of minor penalties later, Subban scored on a two-man advantage with a point blast at 2:33.
Only 19 seconds later, Wild goalie Niklas Backstrom seemed to pull something in a leg or groin and left the game in favor of Josh Harding, who was beaten at 4:28 on Eller's first power-play goal as a Canadiens. There was no immediate word on Backstrom's condition.
Minnesota got one back as Alexei Emelin was felled by an uncalled cross-check that left Kassian open to poke in Darroll Powe's pass. It was Kassian's first goal in 21 career NHL games.
White got another fighting major and a misconduct later in the period for throwing punches at Veilleux, who had slashed goalie Carey Price.
Pacioretty, on his off wing to the right of Harding, put in his 26th of the season midway in the second period.
Desharnais tapped in a rebound of Pacioretty's short in the third period for his third goal in as many games.
Kassian, back in the lineup after sitting out two games, skated to the net and banged in his own rebound with a backhander with 3:53 left.
Coach Randy Cunneyworth's starting lineup included Blake Geoffrion, grandson of Habs great Bernard (Boom Boom) Geoffrion and great-grandson of Howie Morenz. He played his first home game as a Canadien since he was acquired from Nashville two weeks ago.
Canadiens winger Brad Staubitz, claimed off waivers Monday, played against his former team.
- Linesman Pierre Champoux was honored for working his 1,500th career game. His family joined him at center ice as he received a crystal trophy in a pregame ceremony.
- Montreal forward Aaron Palushaj, cut by a high-stick, left the game in the first period.
- Montreal scratched defenseman Rafael Diaz.
- Erik Christensen didn't play for the Wild.