Gallagher picked up his fourth goal of the season 6 seconds into the second when he pounced on a loose puck off the faceoff and beat Jake Allen on a seemingly harmless shot from just inside the blue line.
"It was a pretty fortunate goal," Gallagher said. "But any time you can score the first five minutes of the period or the last five minutes, those things seem to propel you. They’re big momentum goals."
Allen said the shot deflected off the shaft of his stick and into the net.
"I’m going to take a lot of responsibility on that one, for that goal," Allen said. "I think it took a lot of wind out of our sails. I thought we did a pretty decent first period back and forth, got a little bit into their style of game which we didn’t want to play, but that’s on me for losing that momentum for the boys."
Jordan Weal and Shea Weber also scored for the Canadiens, who won for the third time in four games. Carey Price made 32 saves in his 325th win, passing Sean Burke for 27th on the NHL career list.
"It seems the older I get the more it happens but I’m just thankful to have played with a lot of good teams that have helped me win those games," Price said.
St. Louis dropped its fourth straight game. Jaden Schwartz and David Perron scored for the Stanley Cup champions, and Allen made 20 saves in his first home start since Jan. 8.
The Canadiens grabbed control after Gallagher’s tiebreaking goal.
Drouin made it 3-1 with a one-timer at 3:39. It was the second power-play goal of the game for Montreal, which improved to 5 for 14 on the road with the man advantage.
Drouin said the team got a huge boost by Gallagher’s score.
"Obviously that’s a fluke goal and that’s not going to happen all the time," he said, "but for us to get that goal on the road against a team like that to start the period after 6 seconds to be up by one we know if we got the lead, we could play the third period kind of conservative and just play our game."
Suzuki scored his second goal in as many games with 8:27 left in the second. He buried a one-timer after a Nate Thompson pass freed him up in the slot.
"All I know is it was a good start for us, 6 seconds in," Canadiens coach Claude Julien said. "We get the lead and it just kind of gave us that kind of excitement of playing with the lead again."
Perron scored with 37 seconds left in the third, but Weber answered with an empty-netter.
Weal’s power-play goal gave the Canadiens a 1-0 lead at the 5:57 mark of the first period. Max Domi picked up an assist to extend his points streak to five games.
Schwartz’s first goal of the season tied it 71 seconds later. Schwartz buried a backhander after an Alex Pietrangelo slap shot caromed off the end boards right to his stick.
"I thought we played really well in the first," Pietrangelo said. "We just shot ourselves in the foot again. It’s a cliche, but we’ve got to manage the puck better. It’s how we create offence. It’s how we create goals and draw penalties and get momentum."
NOTES: D Christian Folin was back in the Canadiens’ lineup for D Cale Fleury, who is day to day with an undisclosed injury. … D Robert Bortuzzo was in the Blues’ lineup after a three-game absence for D Carl Gunnarsson (lower body). … The Canadiens also scratched D Mike Reilly and RW Joel Armia. … The Blues also scratched LW Zach Sanford and LW Mackenzie MacEachern.
Canadiens: Visit Minnesota on Sunday.
Blues: Host Colorado on Monday.