Pittsburgh overcame a three-goal deficit and scored the only two goals of the third period to create a 5-5 tie. Malkin deadlocked the game with 12:19 to go in the period.
The Penguins dug themselves a 4-1 hole early in the second period, but came back to end a two-game skid.
Toronto delivered four consecutive goals late in the first period and early in the second. James van Riemsdyk and Phil Kessel both scored during the opening 42 seconds of the middle period to create the three-goal lead.
Pittsburgh outshot the Maple Leafs 19-0 over the last 25 minutes.
Jeff Zatkoff was credited with the win thanks to 11 saves in 13 shots. He replaced Marc-Andre Fleury, who was removed early in the second period after giving up three goals on 11 shots.
Jonathan Bernier gave up five goals on 48 shots to take the loss.