Scott Clemmensen made 17 saves for Florida (12-17-5).
With the win, Florida extended its win streak to three games. The Canadiens, meanwhile, have now lost three of their last four games.
The Panthers outshot the Canadiens 14-8 in the first period, but neither team came terribly close to breaking the deadlock. The best save was probably Clemmensen's, who got his left pad on a Galchenyuk shot while the Canadiens had the man advantage.
Winchester got the Panthers on the board at 4:44 of the second, beating Budaj to his right with a one-timer off the post and in.
Tomas Kopecky started the play, drawing both Canadiens defencemen behind the net before feeding the puck to a wide open Winchester, who made no mistake from close range for his fifth goal of the year.
Bjugstad doubled the Panthers' lead at 7:11, finishing off Florida's 3-on-2 rush by firing a wrister under Budaj's glove. The goal would hold as the game-winner.
Galchenyuk reduced the deficit at 2:28 of the third, banging home captain Brian Gionta's rebound from inside Clemmensen's crease with the Habs pressing on the power play.
The Canadiens looked for the equalizer late in the third period when they played 35 seconds of 5-on-3 hockey, but they couldn't generate much offence.
Notes: The game was Montreal's third in four nights. … The Panthers have now won five of their last six games. … Tim Thomas missed a second straight game after injuring his groin in practice last Thursday. … Budaj made his first home start of the season in place of Carey Price, who earned a shutout against the New York Islanders on Saturday. … Montreal has only scored three times in its last four games. The team still sits second in the Atlantic Division, three points behind the Boston Bruins. … The Panthers and Canadiens face off three more times this season. Their next encounter is on Dec. 29 in Sunrise, Florida.