Martin Necas, Ian Cole, Vincent Trocheck and Nino Niederreiter also scored for the Hurricanes, who snapped a season-worst three-game losing streak for only their second win in the last seven games.
"We kind of had some tough times lately so it's nice to get a night like this," Teravainen said.
"It's good for our confidence," Trocheck said, who had gone eight games without a point. "We know what we're capable of."
Sebastian Aho recorded three assists and Trocheck had two assists. And Hurricanes goalie Antti Raanta, playing in consecutive games for the first time this season, made 32 saves.
"Pretty much scored every chance we had, it felt like," Hurricanes coach Rod Brind'Amour said. "I think we deserved it."
Henri Jokiharju scored his first goal of the season and Zemgus Girgensons also had a goal for the Sabres, who've lost four in a row and eight of their last nine. They've allowed 20 goals in a three-game span.
"Everyone in that locker room can do better," Sabres left winger Victor Olofsson said.
Goalie Malcolm Subban, making his Sabres debut after a trade Thursday with Chicago, played his first NHL game of the season and stopped 19 shots before departing midway through the third period with an injury.
"It seemed like the scoring chances they had were really good ones," Olofsson said.
The Hurricanes did all their scoring in their previous three games in the third period. They entered the third period against Buffalo with a 5-2 lead, and Teravainen's second goal was a short-handed tally 69 seconds into the third period.
"Hopefully this bodes well going forward that we have a little confidence that we can score some goals again," said Cole, whose goal was his first of the season.
Teravainen scored just 2:16 into the game. Later in the period, Necas scored on a wrap-around. A goal was waved off initially, but through video review it was determined that the puck cross the line before it was pushed out by Subban.
Buffalo got on the board with 32 seconds left in the opening period when Jokiharju was credited with a goal, though the puck went in off Carolina's Cole.
"Some tough bounces there, but there's really no other alternative but to keep playing and keep going hard," Cole said.
Carolina has won its last 11 meetings with the Sabres.
Andrei Svechnikov, the second-leading scorer for the Hurricanes, sat out with an injury. He had a goal in two of the last four games, including Thursday night's loss to Ottawa.
"A little finger issue and had to have it repaired, so he should be fine going forward," Brind'Amour said.
Svechnikov missed a game for the first time this season. So did Jordan Martinook, who left the Ottawa game with an injury and didn't play Saturday.
Goalie Frederik Andersen, who has been the team's top goalie, wasn't on the bench. Brind'Amour said he hasn't been feeling well.
The good news for Carolina is that defenseman Ethan Bear returned after a six-game absence due to being in the COVID-19 protocol.
For Buffalo, defenseman Robert Hagg was out of the lineup for the first time this season. Will Butcher played for just the second time in seven games.
Subban's injury will be further assessed when the Sabres return to Buffalo, coach Don Granato said. He would have liked to have seen a better performance in front of his newcomer.
"We gave up too many uncontested chances," Granato said.
Sabres: Host Anaheim on Tuesday night to start a three-game homestand.
Hurricanes: At Winnipeg on Tuesday night to begin a five-game trip. ------