Jordan Eberle, David Perron, Sam Gagner, Nail Yakupov and Jeff Petry also scored for the Oilers (12-24-3), who had been shut out in three of their previous five games and outscored 24-6 during their losing streak.
Winnipeg had a chance to start the scoring seven minutes into the first period as Evander Kane had a partial break after jumping out of the penalty box, but was stopped on a nice kick save by Oilers starter Ilya Bryzgalov.
Edmonton got on the board a minute and a half later on another power-play opportunity as Ales Hemsky made a long pass through traffic that Eberle deflected past Jets goalie Ondrej Pavalec.
Winnipeg tied the game up 11 minutes into the opening frame on a goal that Bryzgalov would definitely like back, as Stuart sent a low wrist shot through his legs from near the face-off dot.
The Oilers regained the lead with four minutes remaining after cycling the puck well before Eberle sent a puck from behind the goal-line to a hard-charging Gagner in front of the net.
The Jets made it 2-2 nine minutes into the second period on the power play as Dustin Byfuglien duffed on his point shot and broke his stick, but it got close enough to the net for Ladd to deflect past the Oilers goalie.
Edmonton once again went out front with just over three minutes left in the second period on an innocent looking play as Hall sent a seeing-eye-dog pass to the front of the net that Perron batted in on the backhand for his team-leading 15th goal of the season.
The Oilers went up 4-2 four-and-a-half minutes into the third as Nail Yakupov got a pass through to a pinching Petry and he beat Pavelec for his first goal in 27 games.
Edmonton got an insurance goal on the power play with 11 minutes left as Ryan Nugent-Hopkins made a nice play to swat a clearing attempt out of the air and feed it to Hall at the side of the net for his 14th goal of the year.
The Oilers equalled the total of six goals they had scored during their entire losing streak with four minutes left in the third as the Oilers broke out on a two-on-one with Hall unselfishly setting Yakupov up for just the sixth goal of the season for the 2012 first overall draft pick.
A melee ensued after that goal and the Oilers ended up with a five-on-three advantage for the remainder of the game, but couldn't add to their goal total.
Both teams are off until Friday when the Jets will host the Minnesota Wild and the Oilers will face the Flames in Calgary.
Notes: It was the second of three games between the two teams. The Jets beat the Oilers 5-4 on Oct. 1 during Edmonton's home-opener at Rexall Place… The Oilers organization was in damage control mode for much of the day before the game after coach Dallas Eakins called a fan who had thrown his Oilers jersey on the ice after Saturday's 6-0 loss to St. Louis a "quitter."… The Jets were without forwards Matt Halischuk (forearm) and Jim Slater (sports hernia) and defenceman Paul Postma (blood clot)… Out for the Oilers were defenceman Philip Larsen (illness) and forwards Mark Arcobello (rib) and Ryan Jones, who was knocked unconscious during the morning skate on Saturday after colliding with captain Andrew Ference.