Price withstood a furious Canucks onslaught in the third period, stopping 20 scoring attempts to record the sixth whitewash of his career.
Andrei Markov's first-period goal put the Canadiens ahead for good and Roman Hamrlik got his first goal of the season on a third-period power to ice the victory for Montreal, which won for only the second time in five games.
Vancouver, meanwhile, saw its six-game winning streak snapped. Defenseman Christian Ehrhoff, who has two goals and five assists this season, got off 10 shots in the contest, all of them saved by Price, and fellow defenseman Alex Edler, with one goal and nine assists on the year, managed four in the setback.
Roberto Luongo made 27-of-29 saves for the Canucks.