Evan Rodrigues, Justin Schultz and Kris Letang scored, and Matt Murray made 20 saves for the Penguins (40-23-6), who are three points behind the Philadelphia Flyers, who lost 2-0 to the Boston Bruins on Tuesday.
"I thought we played great," Murray said. "We kept the pressure on them and didn't give them too much time and space. That's a team with a lot of skill, and they could be dangerous, but we did a good job of staying on our toes."
WATCH: [All Penguins vs. Devils highlights]
Nikita Gusev and Miles Wood scored, and Mackenzie Blackwood made 28 saves for the Devils (28-29-12), who had won five straight at home.
"We know the situation they were in," New Jersey coach Alain Nasreddine said. "They're up there in the standings for a good reason. Their big players show up in big games. When it's not Sidney Crosby, it's Malkin. When it is not Malkin, it's Letang. When it's not Letang, it's [goalie Tristan] Jarry or Murray. It was Malkin tonight, and I'm not surprised at all."
The Devils had a 5-on-3 power play for 1:42 early in the third period with Crosby (high-sticking, 3:36) and Letang (slashing, 3:54) in the penalty box, but had two shots on goal.
"Guys knew we needed a kill and went out there and did a great job," Murray said. "Bryan Rust and [Teddy Blueger] had big blocks, guys were sacrificing. That kill gave us momentum and allowed us to finish off the game."
Penguins coach Mike Sullivan said, "That [5-on-3] could have been a game-changer but they did a terrific job. Those guys competed hard out there."
Rust, Blueger and Jack Johnson each blocked a shot during the two-man advantage.
"[The 5-on-3] was sloppy, like the rest of our game," Nasreddine said. "We moved the puck around with no structure. We really didn't shoot the puck, and, when we did, we were non-threatening. We weren't sharp, weren't focused."