Scheifele had two assists, and Connor Hellebuyck made 29 saves for the Jets (10-4-1), who are 8-1-1 in their past 10 games.
"Kyle has been awesome," Scheifele said. "He's made so many good plays. I've been lucky to be on the receiving end on a bunch of his really nice passes. It was nice to pay him back tonight. What a fantastic pass that [Gagner] made on his second goal."
Troy Terry and Trevor Zegras scored, and Cam Fowler had two assists for the Ducks (5-11-1), who have lost four of five (1-4-0). John Gibson made 29 saves.
"We played 59 good minutes," Zegras said. "I make a bad play on the wall and miss my guy going to the front of the net and the game's over. I would say it's kind of on me."
Terry gave Anaheim a 1-0 lead at 10:17 of the first period, scoring through traffic from above the left circle during a delayed penalty.
Connor tied it 1-1 at 12:32 of the second period, getting to a loose puck below the right circle following a stuff attempt by Pierre-Luc Dubois on a power play.
"It was just a matter of time," Jets coach Rick Bowness said. "[Connor] had some really good looks early that didn't go in. I think that first one gave him a big boost, and you could see all of a sudden the stride picked up, the enthusiasm picked up a lot. A little bit of a weight off his shoulders."
Connor put Winnipeg in front 2-1 at 14:15 of the third period with a one-timer off a pass from Gagner, but Zegras scored 28 seconds later at 14:43 on a rush to tie it 2-2.
"[Zegras] scored a massive goal to get us back in the game at 2-2, but it's a great reminder, especially to all of our younger players, that keeping pucks out of our net is just as important as putting them in their net," Ducks coach Dallas Eakins said.