Rickard Rakell and Erik Karlsson also scored for the Penguins (34-30-11), who are 4-0-2 during a six-game point streak, including a 5-2 win at the New York Rangers on Monday. Alex Nedeljkovic made 23 saves.
The Penguins moved within three points of the Washington Capitals, who have one game in hand, for the second wild card into the Stanley Cup Playoffs from the Eastern Conference. The Capitals, who lost 6-2 at the Buffalo Sabres on Tuesday, host the Penguins on Thursday.
“I thought it was a gutsy effort by our guys,” Pittsburgh coach Mike Sullivan said. “We could tell early on we didn’t have a lot of energy. We just didn’t have a lot of juice tonight. It was one of those nights where sometimes you play against the schedule. That game last night in New York took a lot out of our guys.
“I give our players a lot of credit. We hung in there and we dug in.”
Timo Meier, Jesper Bratt and Curtis Lazar scored, and Nico Hischier and John Marino each had two assists for the Devils (36-35-4), who have lost two straight and three of five. Jake Allen made 15 saves.
The Devils are six points behind the Capitals in the wild-card race.
“It’s not easy to explain, especially after the first two periods,” New Jersey coach Travis Green said. “I thought we played almost as perfect a game as we could’ve in the first two periods. Really didn’t give them a lot of life. ... I don’t think we necessarily let up, but we gave them some life with some power plays.”
Crosby cut it to 3-2 with a power-play goal at 6:48 of the third, tapping in a pass from Bryan Rust that hit Malkin near the right post.
Malkin then tied it 3-3 at 7:55 by deflecting a shot from Jack St. Ivany between his legs.
Rakell gave Pittsburgh a 4-3 lead at 16:16, redirecting a shot from Marcus Pettersson past New Jersey defenseman Simon Nemec.
“I thought the power-play goal got us going,” Rakell said. “Just making it a one-goal game, we know anything can happen. Then just play hockey. We played with emotions and just showed that we wanted it.”