The Penguins overcame a two-goal deficit in the third period to win their fifth straight. The Canadiens missed out on a chance to climb out of last place in the Northeast Division.
Montreal's Max Pacioretty, who fought with Chris Kunitz in the game's opening minutes, scored midway through the second period to give his team a 4-2 advantage. The Canadiens did not put the puck in the net again.
Dustin Jeffrey brought the Penguins within one 3:32 into the third period and Malkin tied it on a slap shot for his 25th of the season.
Marc-Andre Fleury then stopped all three Montreal attempts in the shootout while Malkin scored in the second round.
Fleury made 25 saves and Peter Budaj took the loss while stopping 34 shots. Pittsburgh's winning streak has brought the Penguins within six points of the New York Rangers for the lead in the Atlantic Division.
Rosie O'Donnell unveils nearly 50-pound weight loss
Disney's 'Jessie' to feature network's first engagement