Andrei Markov and Guillaume Latendresse also scored for the Canadiens (17-8-5), who have registered at least a point in four straight games (2-0-2).
Marc Savard scored twice and Jason York got his first of the year for the Bruins (14-12-2), who lost their second straight game but only their fifth in their last 15.
There was a moment of silence prior to the game to honour Laura Gainey, the 25 year-old daughter of Canadiens GM Bob Gainey who went overboard in the Atlantic Ocean about 700 kilometres off the coast of Cape Cod on Friday night. The search for Gainey was officially suspended on Monday evening.
You couldn't hear a whisper from the sellout crowd of 21,273 during the 30 seconds or so of silence.
The game was also the first for the Bruins since they learned 19 year-old rookie winger Phil Kessel underwent cancer-related surgery in Boston on Monday.
The Bruins had another scare in the first period when a Mike Johnson slapshot caromed off Glen Murray's stick and dangerously close to his ear. Murray went off to the Bruins dressing room with blood flowing from his left ear, but he was back before the end of the period.
David Aebischer made 31 saves for the Canadiens to win for the first time since Nov. 7, snapping a five game winless streak.
Hannu Toivonen made 37 saves for the Bruins in his first start since Nov. 4.
With the game tied 2-2 just past the midway point of the third period, Tomas Plekanec took the puck off Zdeno Chara behind the Bruins net and sent it in front to a wide open Samsonov, who buried it for his sixth of the season and second of the night at 12:49.
Latendresse provided the eventual winner at 16:00 of the third with his seventh of the season on a quick turnaround shot from the slot that surprised Toivonen.
Boston got to within a goal when York's point shot beat a screened Aebischer at 19;09 of the third.
The Canadiens went ahead on Markov's power play goal in the first period, converting a rebound of an Alex Kovalev shot for his third of the year at 6:36.
The Bruins tied it at 2:09 of the second with a power-play goal of their own when Savard converted a nice passing play from Patrice Bergeron and Zdeno Chara with a one-timer that beat Aebischer.
Montreal re-gained the lead 2-1 at 6:52 on a nice 4-on-4 effort from Samsonov, who dangled his way through the offensive zone before converting his own rebound.
But the lead lasted less than a minute for the Canadiens as a Kovalev giveaway in his own end led to Savard's second power play goal of the period at 7:34.
Notes: The Canadiens were without D Sheldon Souray (wrist) and centre Steve Begin (ribs). Both are considered day-to-day. Their spots in the lineup were filled by D Janne Niinimaa and centre Maxim Lapierre, who was called up from the AHL's Hamilton Bulldogs on Monday and played his second career NHL game. Lapierre got an assist on the Latendresse goal for his first career NHL point. ... Kessel's spot in the lineup was taken by C Yan Stastny, called up from the AHL's Providence Bruins on Monday. ...Bruins winger P.J. Axelsson missed his fifth game with a foot injury. ...The Canadiens will hold their 42nd annual visit to two Montreal-area children's hospitals on Wednesday.