Bryan Rust had a goal and an assist, Matt Grzelcyk had two assists and Tristan Jarry made 26 saves in his third straight win for the Penguins (33-35-12), who are 9-4-2 in their past 15 games.
"We're not in playoffs but we have a lot of pride on the line and we want to build something," Grzelcyk said. "There's so many good players who have played for a long time and we owe it to them to keep battling and not to give up on the season."
Jake Allen made 20 saves for the Devils (41-31-7), who lost their second straight and are 4-3-0 in their past seven games.
The Devils went 0-for-3 on the power play. The Penguins were 2-for-4.
"Penalties gave them goals," New Jersey coach Sheldon Keefe said. "We didn't get the job done on the kill and we just didn't score enough but I didn't mind our game at all ... 5-on-5 we gave up next to nothing. We had some chances to build our lead in the first period and didn't bury it. Aside from the special teams, I had no issue with our game."
New Jersey is third in the Metropolitan Division and will play the Carolina Hurricanes in the Eastern Conference First Round.
Erik Haula gave the Devils a 1-0 lead just 15 seconds into the first period when he took a pass from Dawson Mercer at the Penguins blue line and skated down the slot before scoring on a snap shot inside the left post.
Ondrej Palat pushed it to 2-0 on a deflection past Jarry after a shot from the high slot by Cody Glass at 6:17 of the first.
Malkin scored for the Penguins to make it 2-1 at 16:10 of the first after poking a puck at the right post that slid onto the outstretched left skate of Allen. Devils defenseman Luke Hughes attempted to clear the puck and inadvertently backhanded it over the goal line.