Five days after giving up four goals in 3:23 to hand a victory to Boston, the Penguins blew another two-goal lead before recovering to win without Sidney Crosby for just the second time in five games. Marc-Andre Fleury stopped 44 shots for his 20th win of the season.
Tuukka Rask made 33 saves for the Bruins, and Dennis Seidenberg and Michael Ryder scored 13 seconds apart in the second period to erase a 2-0 deficit.
But Staal backhanded a loose puck in front past Rask to make it 3-2.
Chris Kunitz and Pascal Dupuis also scored for the Penguins.
Comments are no longer available on this story