Price has nine career shutouts. He took the NHL lead with 26 wins as Montreal won its third in a row since the All-Star break. Price has started a league-high 46 games.
Gomez, a former Rangers forward, made it 1-0 with 1:26 left in the second with his seventh goal. Tomas Plekanec scored his 18th into an empty net with 37.4 seconds remaining.
New York's Martin Biron stopped 27 shots in his 14th start of the season in place of struggling goalie Henrik Lundqvist, but the Rangers' skid was stretched to 0-3-1.
The Canadiens, outshot 19-5 in the third period, held onto the lead and strengthened their position in the Eastern Conference playoff race. Montreal is in sixth place with 65 points, three ahead of the seventh-place Rangers with two games in hand. The Canadiens trail fifth-place Washington by one point.
The Canadiens won despite the absence of defenseman James Wisniewski, who missed the game because of illness.
Alexandre Picard, who hadn't played in four weeks, took Wisniewski's spot in the lineup and earned an assist on Gomez's goal. Picard took Yannick Weber's cross-ice pass inside the blue line and drove a slap shot to the left of the net.
Gomez, who was positioned to the right of the net, gathered the rebound off the end boards on his backhand and moved the puck to his forehand before snapping a rising shot past Biron and into the top of the net.
Biron is 8-5 in 16 games, including a relief outing in Thursday's loss 3-2 to New Jersey. He stopped all six shots he faced after coming on in the second period to replace All-Star Lundqvist, who allowed three goals on 12 shots.
Rangers coach John Tortorella singled out Lundqvist's recent play as a key reason for New York's current skid.
Notes: Lundqvist has lost each of his last four starts against Montreal, including two this season. ... Price's career high for starts is 49 in the 2008-09 season, when he played in 52 games. ... Picard fought Sean Avery in the first and took an interference penalty midway through the second. He was a healthy scratch for 13 of Montreal's previous 15 games, including 10 in a row since his last game on Jan. 8.