Max Pacioretty scored his 19th goal in the first period and Alexei Emelin made it 2-0 with a short-handed goal 7:20 into the second. Plekanec, who set up Emelin's goal, was credited with his 11th goal on a power play at 11:28.
Price made a lunging glove save on Antti Miettinen, then a sprawling stop on the forward's backhand off the rebound 2:46 into the third to preserve his 15th career shutout.
"It just wound up on his tape and I just threw a limb back there and got a piece of it, and I was just swimming after that," Price said.
Gomez failed to score for a 52nd straight game. The veteran center has gone a full calendar year since he scored last Feb. 5.
"It's not easy," Price said. "Things haven't gone his way the last year and that's all right. He's a leader in our room and he's a big part of our hockey club."
The Canadiens, who lost 3-0 to Washington on Saturday, moved back into a tie with Carolina at the bottom of the Eastern Conference standings with 49 points.
"There are a lot of games to go and there's a lot of character in this room," Plekanec said. "I'm sure we'll do our best and we'll win some games together and get back into the picture and get somewhere where we know we can still make it."
Ondrej Pavelec stopped 20 shots for Winnipeg, which lost its second in a row.
The Jets remained in 10th place in the East with 54 points, six points behind the eighth and final playoff spot.
There was a long delay before the Canadiens' third goal was announced to the crowd. Gomez, who was mockingly cheered whenever he touched the puck, was in front of the net when Pavelec was beat by Plekanec's shot from inside the blue line.
Some in the crowd of 21,273 booed when PA announcer Michel Lacroix finally announced that the goal was credited to Plekanec.
"They wanted to make sure that they got the right goal and Scotty on the bench said he didn't think it did," Canadiens left wing Mathieu Darche said. "We're all hoping he's going to score but his attitude has been great. He's a human being. He's not trying not to score. He's actually shooting more this year than I've ever seen him shoot. We're behind him and his attitude's been outstanding, so all the guys are pulling for him."
Pacioretty got credit for opening the scoring 18:02 into the game when Pavelec inadvertently knocked a loose puck into the net with his stick.
Emelin scored his second goal when he drove the net to direct Plekanec's feed past Pavelec while Andrei Kostistyn was serving his second minor penalty of the game.
"I thought we started the game well," Jets coach Claude Noel said. "I thought our power play the first period at the 10-minute mark of the first period certainly didn't help us any and they took their game up and our game went down, and we didn't do a lot of things well through the two periods at all.
"We didn't win battles, we looked mentally fatigued, and we looked like we were worn down - there goes the result of no goals and they scored three. We didn't play very well."Notes
- Jets RW Blake Wheeler fought with Montreal D P.K. Subban 16:05 into the second.
- Canadiens D Raphael Diaz was left out of the lineup.
- Gomez has seven assists in 23 games.