SUNRISE, Fla. -- The Montreal Canadiens took advantage of solid goaltending and a puck that finally bounced their way.
Bourque's winner came on a tip-in just in front of the net. Alex Galchenyuk came down the left side and battled to get the puck across the crease, where it bounced off the skate of Shawn Matthias and into the air. Bourque was able to get a stick on it and poke it past goalie Jose Theodore.
"We just kind of knew it was going to be one of those goals, an ugly goal, that would probably get the job done," Bourque said. "I was just trying to whack it somewhere."
Carey Price made 26 saves for his 17th career shutout and second against the Panthers. The Canadiens won their second straight on the road.
Galchenyuk, who turned 19 on Tuesday, kept after the puck to the left of the net and was able to set up Bourque for the winning goal.
"The puck was bouncing, somehow I got it to him," Galchenyuk said. "He made an unbelievable play."
Theodore stopped 31 shots against his former team but the Panthers lost their third in a row.
There was little offense through a sluggish first two periods. Theodore saved a potential goal with 2:15 left in the first when he made a glove save on a point-blank shot by Brandon Prust.
"We didn't play great the first two periods. We probably should thank Theo at that point -- he stood on his head for us," Panthers forward Jerred Smithson said.
The action picked up in the third, with the Panthers tallying 13 shots -- one fewer than they managed through the first two periods. Price withstood a barrage about 8 minutes into the period when Florida fired off five shots from in close in less than a minute.
"They came out hard at the beginning of that third period. We just had to weather the storm," Price said. "We were just lucky to get that one at the end."
Canadiens coach Michel Therrien was impressed with Price's performance.
"He's excellent," Therrien said. "We lost a little bit of momentum on two shifts and that's when you need your goalie and Carey was phenomenal."
The Panthers wasted a great effort by Theodore.
"It was a tough game for us. We got outworked for a stretch and we finally decided to start playing a simple game and things fell in from there, but obviously not enough to bring it home," Florida coach Kevin Dineen said. "Goaltending will be the story tomorrow. Goaltending was great at both ends."
Panthers RW Kris Versteeg was scratched with an upper-body injury. ... Theodore played 353 games for Montreal from 1996-06. ... Canadiens D Andrei Markov has 10 points, all on the power play.