MONTREAL -- The Montreal Canadiens came up with arguably their best effort of the season to end a skid that included their most embarrassing loss.
Carey Price made 27 saves for his sixth shutout, Benoit Pouliot and Brian Gionta scored 1:40 apart in the second period, and the Canadiens snapped a three-game losing streak with a 3-0 win over the Toronto Maple Leafs on Saturday night.
Price bounced back from the worst outing of his career and posted his 10th NHL shutout. The 23-year-old Price, who has two shutouts in four starts, allowed a career-high eight goals and fought with fellow All-Star goalie Tim Thomas in an 8-6 loss at Boston on Wednesday night.
"I thought we played an excellent game," Price said. "We played solid for the whole game. That was probably the best 60 minutes we've played."
Thomas and New York Rangers goalie Henrik Lundqvist are tied for the league lead with seven shutouts.
Pouliot scored for a second game in a row 10:12 into the second. Gionta made it 2-0 moments later with his team-leading 21st goal. David Desharnais, who assisted on Pouliot's goal, scored during a third period power play. Roman Hamrlik earned his second assist.
"It was a pretty good complete game for us," Gionta said. "I thought we were going right from the start and we were making the right plays when we had them."
Jean-Sebastien Giguere stopped 36 shots in his second start in six games for Toronto, which dropped its second in a row. The Leafs' shootout loss to New Jersey on Thursday followed a 4-1 run.
"You know we're not going to go without losing until the end of the season," Giguere said. "It's disappointing, you want to at least be competing. I don't think we did that, but we've got to move on and try to win the next game."
The Maple Leafs went 0 for 5 with the man advantage.
"We've just got to go back to the basics right now," said forward Phil Kessel, whose goal-scoring drought reached 14 games.
Kessel, who was the last player selected in the All-Star Game draft, has been held to five assists over that span.
Pouliot opened the scoring when he snapped a shot past Giguere after he was left alone in the slot. He one-timed Desharnais' backhanded pass from behind the net.
Gionta put Montreal up 2-0 at 11:52. The Canadiens captain put a shot past Giguere after Max Pacioretty got off a backhanded pass from the left side of the net while being knocked to the ice by defenseman Luke Schenn.
Desharnais increased the lead to three with his fifth goal 6:19 into the third. The rookie center drove the left side to and redirected Scott Gomez's return pass beyond Giguere, who had little chance on all three Montreal goals.
"He played really well, made all the saves, and the goals that went in no goalie in the league would have stopped," Maple Leafs coach Ron Wilson said.
Pacioretty left the game later in the third after he was checked into the boards by Schenn.
Canadiens defenseman P.K. Subban fought late in the first with Toronto's Joffrey Lupul, who played his second game since being acquired from Anaheim on Wednesday.
Lupul felt that Subban didn't give him the opportunity to remove his helmet, which has a visor, and said the rookie "definitely got the jump on me there."
"I'll give him the benefit of the doubt this time, but eventually he's going to stop getting the benefit of the doubt from guys around the league," Lupul said. "I don't have a problem with him, the way he plays or anything.
"I think he's a good young, exciting player but his name keeps coming up in the media over and over again and I'm telling you eventually guys are going to stop giving him the benefit of the doubt."
- Maple Leafs G Jonas Gustavsson had heart surgery on Friday to help treat a condition causing an abnormal rhythm. Gustavsson was on a minor league conditioning stint when he was pulled from the AHL Toronto Marlies' game because of an elevated heart rate. He is expected to be cleared for practice at the end of the week.
- Canadiens D Hal Gill (upper-body injury) and LW Mathieu Darche (lower-body injury) both missed their second straight game.