The Sharks had a 2-1 lead heading into the third, but were overwhelmed by a Carolina assault that brought the Hurricanes their third straight victory.
Lindholm then deflected a shot past Alex Stalock with exactly six minutes left and Staal added an empty-net goal with 31 seconds remaining.
It was the fifth win in six games for Carolina, which was helped along with 22 saves from Cam Ward. Stalock stopped 30 shots.
San Jose has lost two straight on the heels of a six-game winning streak.
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend
Pot vending machine to debut