Jordan Weal and Matt Read scored for the Flyers (33-31-8), who remained seven points back of the Toronto Maple Leafs for the second wild card in the East.
Steve Mason made 30 saves, losing for the first time in regulation against Winnipeg in his career (6-1-1). The Flyers had won their past six games against the Jets.
"I don't think anyone is too pleased with this game," Mason said. "It's frustrating for everybody, considering the situation we are in. We need to be a more desperate hockey club. I don't think we were tonight."
Weal made it 1-0 at 4:28 of the second period. Wayne Simmonds' initial shot was saved by Hutchinson, but Simmonds collected his own rebound behind the net and sent it out front to Weal for his fourth goal of the season.
"We started the game well, played the game we kind of wanted to," Flyers captain Claude Giroux said. "They have players that make plays on the other side and a couple mistakes and it was in our net."
Perreault tied the game 1-1 at 7:02 when he tipped Wheeler's point shot for a power-play goal.
Wheeler scored his 22nd at 7:02 of the third period to make it 2-1. Scheifele made it 3-1 with his 29th on a wrist shot from the slot at 13:51.
Read scored shorthanded with two seconds left to make it 3-2.