Semin tied it at 2 on a power play with 8:12 left, and Tlusty scored with 6:17 to go.
Jeff Skinner had a first-period goal — his 26th — to help Carolina win its second in a row after losing seven of eight. Nathan Gerbe had an empty-net goal with a second left.
Cam Ward made 21 saves, making his second consecutive start after backstopping the Hurricanes to a 3-1 victory over the New York Rangers on Tuesday night.
Tyler Ennis scored on a penalty shot and Drew Stafford added a goal for Buffalo. Michal Neuvirth made a season-high 51 saves in his second start for the Sabres since being acquired in a trade with Washington on March 5.