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.
You could see out there that everybody was willing to compete, to sacrifice, even blocking shots to the end. Even in the third when we were up 5-0, guys were still working hard and blocking shots That's a nice feeling also for the future.
— Flames goalie Jonas Hiller after his team's 5-0 win over Carolina