Alexander Semin and Eric Staal each had a goal and an assist for the Hurricanes (16-15-2), who snapped a seven-game winless streak and moved to within four points of the Jets. Jussi Jokinen also scored for Carolina.
Olli Jokinen had the lone goal for Winnipeg (18-16-2).
The Hurricanes scored their first barely over a minute into the game when Semin snapped one in just a second after Winnipeg netminder Ondrej Pavelec had blocked Staal's wrap-around 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 lots of pressure and outshot the Hurricanes 11-7 for the period, but the closest they came to getting past Peters was a goal post.
Any momentum the Jets built up in the second was sapped by four penalties, including three that overlapped giving the Hurricanes a couple of brief 5-on-3 chances.
Winnipeg played almost half a period at least one man short, but the Hurricanes couldn't get past Pavelec.
But Staal opened the third by snapping one from the right faceoff circle past Pavelec's glove just 28 seconds into the period.
Carolina had gone 0-6-1 in their previous seven games, including a 4-1 loss to the Jets on Tuesday.
Peters was solid in goal for Carolina, which has had goaltending problems this season because of injuries.
First they lost starter Cam Ward for the season to a ligament injury and now they're playing without No. 1 backup Dan Ellis, after his leg was cut just over a week ago in a 4-1 loss to the New Jersey Devils.
NOTES: The Jets won both their games in Carolina this season and the Hurricanes get one more crack at them April 18 when they play their last in Winnipeg this season.