Jordan Eberle scored twice, and Michael Dal Colle had two assists for the Islanders (4-4-2), who were 0-3-2 in their previous five games. Semyon Varlamov made 28 saves in his 500th NHL game.
New York was playing its first game since Jan. 31 after it had two home games against the Buffalo Sabres postponed because of COVID-19 concerns.
"Probably like a starving person needing food, that's probably how bad we needed it," Islanders coach Barry Trotz said. "We needed it for confidence, we needed it to get ourselves back in the race; we've played a few less games. We found a way to battle again."
Jake Guentzel had a goal and an assist, and Pierre-Olivier Joseph and Evgeni Malkin scored for the Penguins (5-5-1), who have lost four of their past five (1-3-1). Tristan Jarry made 22 saves.
"I don't think you think too much into [the standings], but I think you know you've got to start getting points because they're so hard to come by in this division," Guentzel said. "We've seen a lot of games that are close, so we've just got to make sure we're getting points any way we can, and it starts now. We've just got to make sure next game (at the Islanders again Thursday) we try and get two points."
Eberle gave New York a 1-0 lead when he roofed a backhand shot from the bottom of the left circle at 10:22 of the first period. Joseph scored his first NHL goal at 13:43 with a wrist shot from the left circle to tie it 1-1.
"It would've been better with the two points at the end of the game, but I think [Guentzel] saw me in a good position out there and we played fast," Joseph said. "Good things happen when you do the right things."