Defender Josh Gorges was on the ice when the Sharks doubled their lead. Gorges unsuccessfully sprawled in front of Couture to stop the shot.
"Obviously, it's unfortunate that bounce, but when things like that happen we need to be able to respond the right way. We didn't get it going again after that," Gorges said.
"You never expect something like that. You're never prepared for something like that. But those are the breaks in the game. Down 2-0, we still had a chance."
But the Canadiens, who only took six shots on net in the third period, couldn't find an answer to Antti Niemi's play.
Niemi made 22 saves for his second shutout of the season and league-leading ninth win. The Finnish goaltender, who's played every game for the Sharks this year, is allowing an average of less than two goals a game, backed by a cool .933 save percentage.
"When you're confident and when you can be patient, sometimes just wait for the puck to get to you, it gives you more time to react," Niemi said. "I'm feeling like that right now."
After a scoreless first period in which San Jose outshot Montreal 11-8, Couture scored his first of the game on the power-play at 6:20 of the second period.
With Montreal fans calling for a tripping penalty on Couture, Joe Thornton sent a precise pass onto Couture's stick. The 24-year-old made no mistake from close range for his fifth goal of the year.
Couture took defender Raphael Diaz out of the play right before the goal. There was no call on the play.
"We thought that we could have had a few more power plays," Montreal head coach Michel Therrien said. "That's the way it is. What are you going to do?"
Thornton, who is second in assists among active players behind Jaromir Jagr, needs two more assists to reach 800 in his career.
The Habs' lack of discipline almost cost them again later in the period when Couture rifled a shot past Price that hit the post.
Montreal took four minor penalties on the night. The Sharks only took one.
"We got ourselves into some penalty trouble," captain Brian Gionta said. "When we're taking too many, it's a good indication that we're not in the game, or that our speed isn't there.
"They were on us all night long. We couldn't seem to generate much. We have to do a better job."
Notes: The injury-troubled Canadiens were without Daniel Briere (concussion), Max Pacioretty (hamstring), George Parros (concussion), and Brandon Prust (shoulder). ... Defender Dan Boyle has been out of the Sharks' lineup with a head injury since taking a hit from former Hab Maxim Lapierre on Oct. 15. The Sharks were also without forward Brent Burns (sore gums). ... Montreal heads to New York to play the Rangers on Monday.