Olli Jokinen scored for the Jets (18-16-2), who came to life in the second period only to have their momentum sapped by a string of penalties.
Winnipeg coach Claude Noel had little to say after the game.
"No one's more disappointed than us," he said, noting they still lead the Southeast Division.
"The division race is going to get played out (but) it's not what we had in mind."
Peters, a third-stringer, is starting for Carolina because of injuries.
First the Canes lost starter Cam Ward for what could be the season to a ligament injury and they're also playing without backup Dan Ellis, after his leg was cut just over a week ago in a 4-1 loss to the New Jersey Devils.
Peters, who had allowed four goals in each of his past two starts, says he's still learning.
"I approach every game the same, no matter what the circumstances," he said. "I try to take the same approach every game and give my best effort every night."
Muller said the team wasn't in desperation mode coming into Winnipeg.
"Today was not a do or die," said Muller, who said they came in knowing there were 16 games still to play before the season wraps.
"For us it was more, if we can be a good hockey team for 16 games that's what we're after."
Staal said the win was very important to his team.
"We needed to catch this team and win this game," he said, adding that controlling faceoffs helped lock it down. Carolina won 61 percent of the faceoffs Saturday.
"Especially on the road, you want to make sure you're starting with the puck and if you're strong in that area, you have a better chance of making plays and we were good in that area tonight."
The Jets were disappointed by their first loss this season to Carolina.
"It was disappointing. It was a great opportunity for us to push these guys in a pretty deep hole," Blake Wheeler said.
He said they had their chances, but Peters stopped them.
"The second period it could have been 3-2, 4-2, 5-2, but their goalie made some great saves."
The Hurricanes scored their first goal barely over a minute into the game when Semin snapped one in just a second after Winnipeg goalie Ondrej Pavelec had blocked Staal's wraparound attempt.
Jussi Jokinen's wrister at 9:41, one second after the end of Carolina's first power play of the game, made it 2-0.
Winnipeg put on pressure and outshot the Hurricanes 11-7 for the period, but the closest they came to getting past Peters was a goal post.
Olli Jokinen put Winnipeg on the board at 1:26 of the second on a neat backward pass from Evander Kane as he passed the Carolina net.
But Winnipeg took four penalties, including three that overlapped giving the Hurricanes a couple of brief 5-on-3 chances.
"In the second half of the second period we were in the box pretty much the whole 10 minutes," Olli Jokinen said.
Carolina regained its momentum in the third, with Staal snapping one from the right faceoff circle past Pavelec's glove just 28 seconds into the period.
"We've just got to get better in our zone next time," said Pavelec, who also gave Peters credit.
"They played as a team. He made some good saves. We had our chances but couldn't score."
The Jets won both their games in Carolina this season and the Hurricanes get one more crack to even the series April 18 when they play their last game in Winnipeg this season. The Jets head back out on the road to play the Rangers and Islanders Monday and Tuesday and Montreal on Thursday.
Copyright by STATS LLC and The Associated Press
WINNIPEG, CANADA - MARCH 30: Olli Jokinen #12 of the Winnipeg Jets stretches at the bench prior to NHL action...