MONTREAL -- The Montreal Canadiens celebrated the franchise's 101st birthday by finally winning a second game in a row again.
Carey Price stopped 26 shots for the Canadiens, who are 3-0-1 in their last four games. Montreal, which won 5-1 in New Jersey on Thursday night, had alternated wins and losses since Nov. 16.
"That's something we've been looking for," Price said. "We wanted to try and get on a bit of a roll and it's been kind of up and down -- win one, lose one -- and getting two in a row is nice."
The Canadiens, who were founded on Dec. 4, 1909, improved to 7-1-1 in their last nine games at the Bell Centre.
"It was a big test for us," Price said. "They're a really good hockey club and we wanted to bring a good performance because those are the types of teams you get measured against."
Benn Ferreiro scored his third goal in four games for San Jose, which has alternated wins and losses since a 4-0-3 run from Nov. 6-18.
"We had a lot of shots," said Dany Heatley, who ended a five-game points streak. "I thought some were quality chances, some were from the outside, and if you let Carey see any pucks he's going to stop them. He had a lot of shots but he had a lot of easy saves."
Antii Niemi made 16 saves after posting his -- and the Sharks' -- first shutout of the season in a 4-0 win Thursday night in Heatley's return to Ottawa.
"Well, we made enough mistakes to allow three," San Jose coach Todd McLellan said. "You have to give Montreal credit, they earned those three goals, whether it was turnovers or their forecheck. We weren't overwhelmed by their offense but there was enough of it for them to get the win."
Montreal drew two minors, the only penalties called in the game. Plekanec was sent off 1:34 into the second for hooking Marc-Edouard Vlasic. Lars Eller drew a holding penalty with 4 minutes left in the third.
Plekance gave the Canadiens' their second lead 13:58 into the second. He put a shot from the slot inside the right post for his ninth goal to make it 2-1.
Cammalleri increased Montreal's advantage at 8:22 of the third. Niemi stopped Roman Hamrlik's backhand but Cammalleri put away the rebound for his eighth goal.
Darche opened the scoring with his fifth goal 6 minutes in. Benoit Pouliot fed the puck ahead to Darche, who put his initial shot wide before flipping home the rebound off the end boards from a sharp angle.
"I did that on purpose," Darche joked. "I just shot it and it came right back. You get rewarded when you go to the net and you stick with it."
Ferreiro tied it at 1 at 13:04 when he picked the top left corner from the left side.
Ferreiro, who had an assist Thursday, has recorded points in each of the four games he has played since he was recalled from Worcester of the AHL a week earlier. ... Canadiens D P.K. Subban was not in uniform for a second straight game. ... Price tried for a goal with Niemi pulled but his soaring shot was headed wide when it was cut off at the Sharks' blue line.