Crosby one-timed a pass from Malkin into the right side of the net for his 12th goal after Montreal was called for too many men on the ice at 3:09.
The two Pittsburgh superstars were named to the 2015 Honda NHL All-Star Game earlier Saturday along with Price, the Montreal goaltender who frustrated Crosby several times before yielding his winning goal.
"It was a great pass from (Malkin)," Crosby said. "And you try to forget the other chances pretty quickly, but (Price) made a good glove save late in the third, and then obviously the breakaway and then you finally get one through him and his D bails him out. So it feels like it's an uphill battle sometimes but I've just got to stay with it and we're fortunate enough to get a power play, the guys move it around and I got a good look there."
Malkin scored late in the second period and goaltender Marc-Andre Fleury made 27 saves for Pittsburgh (25-10-6), which won for the third time in nine games (3-4-2).
"I thought we got better as the game went along," Penguins coach Mike Johnston said. "I didn't like our first period from the point of view I thought we turned over too many pucks. We gave them too many transition opportunities and you just can't do that against a team that's that good in transition, and they've got very good skill, very good speed, and I thought Price made probably four great saves when we had a chance really to win the game in regulation."
Price made 35 saves and Max Pacioretty scored in the first period for Montreal (26-12-3), which lost its second straight at home following a season-high six-game winning streak.
The Canadiens went 0-for-4 with eight shots on the power play, but they had no shots on their final opportunity after Pittsburgh was called for too many men at 5:53 of the third.
"I didn't like the power play (Saturday)," Montreal coach Michel Therrien said. "I thought 5-on-5 we played really well. We played a really tight checking game, and that's what you want to do against a team like Pittsburgh. They've got a lot of threats offensively and I thought we did good, but our power play was not good."
Pacioretty was asked if the Canadiens' power play had any momentum during the game.
"No, not at all, especially in the third," Pacioretty said. "We had an opportunity there to maybe put them on their heels and we weren't able to do anything with it."
Price stretched out his left pad to stop Crosby's backhander 14 seconds into overtime. Crosby's shot at 2:58 trickled under Price's pad but Alexei Emelin cleared the puck before it reached the goal line.
Pacioretty was not surprised about Price's nomination to the All-Star Game.
"He bails us out too much, but at the end of the day he definitely deserves that recognition," Pacioretty said. "We're very happy for him but it's no surprise to anybody here."
The Penguins made the most of their 4-on-3 opportunity after Canadiens center Tomas Plekanec's stick broke.
"They stepped it up a notch in the third period," Price said. "They made it difficult to come up the ice. I thought it was a pretty tight game overall. We played them pretty tough. It just came down to a penalty and a broken stick."
Pittsburgh's power-play goal was its fifth in 20 games.
"We need to start getting better there and it's hurt us in games for sure where we could change momentum with it and sometimes ultimately win games," Crosby said. "So tonight it was obviously a big difference in overtime here, and we need to find a way to get better there."
Pacioretty scored for a fourth straight game at 18:10 of the first period to give Montreal a 1-0 lead with a wrist shot into the top-right corner for his team-leading 18th goal when he elected to shoot on a 2-on-1 with Brendan Gallagher.
Malkin tied the game 1-1 at 18:28 of the second period when he drove a slap shot from the right point past Price for his 19th goal.
Price flashed his glove as he dropped to the ice to snare Crosby's slap shot from the slot at 14:35 of the third period.
Pacioretty missed an opportunity to restore Montreal's lead moments later. Canadiens defenseman P.K. Subban drove the Penguins' zone and fed a pass to Pacioretty, who put a shot off the left side of the net with an opportunity at an open side.
"I've got to find a way to bury that," Pacioretty said.
"La Marseillaise" was played as images of the French flag were projected on the ice and scoreboard in the wake of the terror attacks in France this week before "The Star Spangled Banner" and "O Canada" were sung.