Cam Ward made 31 saves, a dozen of them coming in the third period, to help Carolina snap a two-game losing streak.
Jason Pominville tied it for Buffalo 6:12 into the third by putting a backhander past Ward. LaRose produced his 11th goal of the season less than 2 minutes later.
Brandon Sutter scored an empty-net goal on the power play to secure the victory with 1:31 remaining.
Eric Staal had three points, scoring early in the third. He assisted on the first goal of the night, coming from Justin Faulk on the power play 2:39 into the second, and on Sutter's clinching tally.
Ryan Miller took the loss, giving up three goals on 34 shots. Buffalo has lost nine out of 12 and have not had back-to-back wins since early November.