MONTREAL — The Boston Bruins have been blowing out teams with potent offense while winning their way through November.

On a night when their production dwindled, Tim Thomas helped them squeeze out yet another victory.

Thomas made 33 saves for his second straight shutout and Boston extended its winning streak to nine games with a 1-0 victory over the Montreal Canadiens on Monday night.

Andrew Ference scored his second goal of the season at 15:41 of the first period for the Bruins, who have not lost since dropping two in a row to Montreal from Oct. 27-29.

Boston has scored at least six goals five times during the streak, and fewer than four just one other time, in a 2-1 shootout win over Columbus on Thursday.

“Every game’s different and for sure this one was a close game, and sometimes only one goal can make a difference in the game and that was the situation tonight,” Bruins captain Zdeno Chara said.

“We’ll take it. We didn’t play our best. They put pressure on us, especially early on, but I think we didn’t give them too many great scoring chances.”

The reigning Stanley Cup champions have outscored their opponents 46-14 over the course of the streak, Boston’s longest since a 10-game run from Dec. 12, 2008 to Jan. 1, 2009.

The Bruins’ longest winning streak is 14 games from Dec. 3, 1929 to Jan. 9, 1930.

“You’ve got to learn to win a whole bunch of different ways over the years and that’s one of the things we did last year,” said Thomas, who posted his third shutout of the season, including a 23-save effort in a 6-0 road win over the New York Islanders on Saturday.

He extended his shutout streak to 133 minutes, 4 seconds. It was his 29th regular-season shutout.

Carey Price, who stopped 17 shots, had shutouts in each of his past two starts.

Ference’s goal ended his shutout streak at 148 minutes, 11 seconds.

The Canadiens have lost 2 of 3.

Rich Peverley exchanged passes with Chris Kelly on the right side of Montreal’s zone to set up the game’s goal. After getting the return pass, Peverley fed the puck across to Ference, who beat Price with a wrist shot into the top right corner.

“It boils down to we made one mistake and one missed assignment on their goal and that’s the difference in the game,” Canadiens captain Brian Gionta said. “I thought we played fairly well. At times we carried the play, but we just didn’t find a way to solve their goalie.”

Price denied Milan Lucic in the third after the Boston left wing was sent in alone on a pass by Nathan Horton.

Peverley cross-checked Michael Cammalleri to give the Canadiens a power play for the final 1:39.

“It was an excellent hockey game,” Canadiens Coach Jacques Martin said. “I mean, both teams worked hard. There weren’t many chances, it was tight checking. I thought we competed hard and we had some chances, but we just couldn’t score.”