The win allowed the Senators to put an end to their 11-game streak of one-goal games.
"It was nice not being a one-goal game for once," said Ottawa's Kyle Turris, who scored his eighth of the season. "We played our game and finished strong."
Jakob Silfverberg led the way with two goals and Guillaume Latendresse picked up his second of the year for the Senators (15-8-6), who got 25 saves from Robin Lehner.
Zach Bogosian scored the lone goal for Winnipeg (15-12-2), while Ondrej Pavelec faced 42 shots.
The loss put an end to the Jets' three-game winning streak.
Trailing 2-0 heading into the third the Jets finally beat Lehner at 3:26 as Bogosian's shot from just inside the blue-line made it through traffic and just under the crossbar.
Evander Kane had a great chance to tie the game midway through the period on a 2-on-1, but was robbed by Lehner who made a great pad save.
"We've seen a lot of good things from Robin, but maybe Lehner's Irish," joked Senators coach Paul MacLean. "He was outstanding tonight. The difference in the game was Robin."
Ottawa had a scare when Winnipeg's Dustin Byfuglien knocked Lehner down and he needed a few moments before getting back up.
"I don't remember much," said Lehner. "It was a big body coming at me and he hit me in the head, but fortunately I felt good after a little while and could finish."
Minutes later the Senators made it 3-1 with a power-play goal by Turris and 75 seconds later Silfverberg scored his second of the game.
Ottawa finished the game 2-for-4 with the man advantage, which is impressive considering the Jets hadn't given up a power-play goal in their last 11 games.
"They made some nice plays," said Jets coach Claude Noel. "They made a dot-to-dot play that's really tough on your goalie. You've got to give them credit they can make those plays."
Fatigue seemed to be a factor for Winnipeg, which was playing its third game in four days. Ottawa dominated the first period jumping out to a 2-0 lead and outshooting its opponents 19-6.
"I think the fact we played three games in four days and not really playing with enough of four lines really caught up with us," said Noel. "I can't fault the players for their effort. I thought they worked hard and tried to come back in the second period. It was a factor no doubt."
The Senators opened the scoring at 3:44 of the first as Daniel Alfredsson battled his way down the side boards to the front of the net where the puck bounced in off Latendresse.
Ottawa made it 2-0 with a power-play goal with less than two minutes remaining in the period. Sergei Gonchar made a pass across the crease to Silfverberg who managed to handle a bouncing puck and beat Pavelec up high.
"It wasn't our best game that's for sure," said Pavelec. "They came in hard on us and I think they were a better team."
Gonchar extended his point streak to seven games with assists on Silfverberg's and Turris's goals.
Notes: The Senators LW Kaspars Daugavins was a healthy scratch. Ottawa is without G Craig Anderson (ankle sprain, indefinite), D Mike Lundin (concussion, indefinitely), D Dave Dziurzynski (concussion, indefinite), D Erik Karlsson (Achiles, out for season), C Jason Spezza (upper-body injury, indefinite), LW Milan Michalek (knee, indefinite), D Jared Cowen (hip, out for season). The Jets' D Paul Postma, C Alexander Burmistrov and G Al Montoya were a healthy scratch. Winnipeg is without D Tobias Enstrom (shoulder, indefinite), D Zach Redmond (leg, indefinite), RW Anthony Peluso (hand, indefinite), C Jim Slater (upper body, indefinite).