Sidney Crosby scored for the second game in a row and added an assist as the surging Penguins (47-22-6) earned their 14th win in their last 16 to pull a point behind the Rangers with seven games left.
Crosby, who scored in Pittsburgh's 8-4 loss to Ottawa on Saturday, has two goals and 11 assists in seven games since returning to the ice from concussion-like symptoms.
"After giving up eight goals, not playing the way we wanted, it was a good way to bounce back," Crosby told reporters.
The Devils (42-28-6), sixth in the East, fell behind just a minute into the first period after Chris Kunitz scored for the Penguins. Zach Parise tied the score at 1-1 but the Penguins went back in front on Jordan Staal's goal.
Pascal Dupuis' snap shot gave the Penguins a two-goal lead in the second period before Ilya Kovalchuk pulled New Jersey back to 3-2 early in the third.
Crosby responded with a wrist shot about a minute later and Evgeni Malkin sealed the game with his 46th goal of the season, taking his NHL-leading points total to 97, with just over 90 seconds left.
Marc-Andre Fleury made 32 saves while the Devils got 23 stops from Martin Brodeur, who will celebrate the 20th anniversary of his NHL debut on Monday.
Travis Zajac got an assist in his first game back for New Jersey since being struck down with an Achilles injury on Jan. 2.