"It was fun," Florida center Nick Bjugstad said. "We didn't have champagne or anything, but I don't think we really need champagne for that. But it's exciting to see what we've accomplished this year. We've come a long way the last couple of years, so definitely a proud group of guys and keep rolling."
Video: FLA@MTL: Barkov scores 10 seconds into the game
Aleksander Barkov scored 10 seconds into the first period to put the Panthers up 1-0, and Bjugstad scored with 12.2 seconds left in the second to put them ahead to stay.
Greg McKegg and Jiri Hudler scored in the third period, and Roberto Luongo made 32 saves for Florida (46-25-9, 101 points), which added to its records for wins and points in a season.
"Obviously, we wanted to get it as quickly as possible, and we got some help too tonight, so it's nice to be able to go into the last two games knowing that it's all wrapped up here," Luongo said.
The Panthers play their final road game against the Ottawa Senators on Thursday, then end their season Saturday against the Carolina Hurricanes at BB&T Center.
Florida coach Gerard Gallant said the Panthers would celebrate the division title with a bus ride to Ottawa.
"You don't want to get too happy," Luongo said. "I think we know the serious work lies ahead of us here, so we're happy that we're able to accomplish what we did, but at the same time we know that the real season begins next week."
Video: FLA@MTL: Canadians score on slick tic-tac-toe passing
Alex Galchenyuk scored his Canadiens-leading 28th goal on a power play at 10:59 of the second period, and Mike Condon made 15 saves for Montreal (36-38-6).
The Canadiens outshot the Panthers 33-19, including 13-4 in the second.
"What did we give up, 11 shots in the first two periods?" said Canadiens captain Max Pacioretty, who set up Galchenyuk's goal. "So we were happy with our game, and we gave ourselves an opportunity to win that in the third. We've just got to bury our chances. I think there were a lot of chances tonight that were able to be the difference with the game on our stick, and we weren't able to convert. And I think that comes with time, but we like the effort, but we just want to win games. We want to feel good about ourselves.
"We want to have a positive energy and no matter how hard you play or how well you play, if you don't win, you don't have those vibes."
Florida took a 1-0 lead when Barkov scored 10 seconds after the opening faceoff. It was his fifth goal during a four-game scoring streak; he has five goals and six assists during an NHL career-high seven-game point streak.
Video: FLA@MTL: Purcell, Jagr set up Bjugstad for PPG
Barkov shot past Condon from the left faceoff circle to complete a passing play with linemates Jaromir Jagr and Jonathan Huberdeau. It was his Panthers-leading 28th goal.
Huberdeau has six goals and four assists during an NHL career-high seven-game point streak.
Galchenyuk shot past Luongo from the right faceoff circle to tie it 1-1. Luongo, who turned 37 on Monday, got his glove on the puck but could not prevent it from sliding over the goal line.
Luongo made a left-pad save on Brendan Gallagher's shot at 16:24 of the second with a delayed penalty signaled against the Panthers.
"You know what, our offense has been there all year," Luongo said. "We played last night, we got in late, the guys didn't have their legs early on, but sometimes goalies got to do their job. And they bailed me out plenty of times during the season, and I tried to hold the fort for a period and a half tonight, and the guys rewarded me with a couple of goals afterward."
Video: FLA@MTL: Hudler seals win for Panthers with PPG
Bjugstad restored Florida's one-goal lead at 2-1 with 12.2 seconds remaining in the period.
McKegg scored his second goal on a backhand to increase the lead to 3-1 at 8:58 of the third, and Hudler scored a power-play goal at 18:31.
Panthers defenseman Brian Campbell was given the Panthers' coveted "Spacey in Space" hoodie by his teammates after playing his 1,000th NHL game. It was his 384th consecutive game, including 374 straight with Florida, breaking the Panthers record set by Olli Jokinen from Dec. 12, 2002 to April 5, 2008.
"They didn't have to do that, but it's nice for the guys to do that, and it's a great night, a great building to play [my 1,000th game] in too, so I'm a pretty lucky guy," Campbell said.
John Scott, the Most Valuable Player in the 2016 Honda NHL All-Star Game in Nashville, made his Canadiens debut and started at left wing. He lined up for the opening faceoff opposite Jagr.
"You never want to give up a goal on the first shift," Scott said. "You've just got to move on. You can't really dwell on it. I thought we bounced back, my line played pretty well and got some good chances. But yeah, it's not the ideal start we were looking for."
Video: FLA@MTL: Luongo slides over to make a great pad save
Scott was called for high-sticking Florida forward Rocco Grimaldi at 14:08 of the third period. He had 9:01 of ice time, including 27 seconds on the power play.
"A win would have been nice," Scott said. "I expected that, the good crowd and good atmosphere. It was a good game, for me anyways. I had fun. But a win would have been nice."
Scott said he will go home to his family in Michigan after he was given the choice by Canadiens general manager Marc Bergevin to do that or return to St. John's to finish the AHL season.
"You never know what's going to happen," said Scott, who had his Canadiens jersey on top of his St. John's equipment bag. "It could be my last game. It's one of those things that's emotional. You try to block it out until after the game, and now it's just like try to move on and deal with it."
Ryan Johnston made his NHL debut and became the 15th defenseman to play for Montreal this season.
Video: Luongo's 32 saves lead Panthers to win over Canadiens