It's the third time the teams have met in the past two weeks. The Oilers beat the Ducks 4-3 in overtime on March 28, while Anaheim edged Edmonton 3-2 on Wednesday.
The Ducks opened the scoring on the game's first shot, 1:20 into the first period. Edmonton goalie Viktor Fasth made the initial stop on Silfverberg, but the rebound caromed off of teammate Sam Gagner and trickled into the net.
Edmonton came close to tying the game with five minutes left to play in the opening frame when Perron made a nice pass to a hard-charging Ryan Smyth, but Ducks starter Jonas Hiller was quick to come across and make the save.
The Oilers knotted the game 1-1 six minutes into the second period with a power play goal as Hall banked in a goal off of Hiller with a shot from the side of the net for his 27th of the season.
Perron kept pace with Hall for the team's goal-scoring lead three minutes later while Edmonton was short-handed, beating Hiller with an off-balance shot from the right faceoff circle for his 27th. It was just Edmonton's fourth short-handed goal of the season against a league-leading 13 allowed.
The Oilers took a 3-1 lead with just over three minutes left in the second period as Eberle swung a puck out front and the rebound remained loose in the crease before a pinching Schultz tapped it in.
The Ducks got back to within a goal with on a power play just 25 seconds into the third period as Perry tipped a long Ryan Getzlaf wrist shot from the point past Fasth for his 42nd goal of the season.
Edmonton withstood a ton of pressure before getting an insurance goal. Eberle also scored his 27th moved into a three-way tie for the team lead with an empty-net goal.
Anaheim threw everything they had at the Oilers net in the third period, but Fasth proved up to the task, making 34 saves in total to earn his first victory against his old team.
The Ducks get right back at it on Monday in Vancouver against the Canucks. Edmonton continues its season-ending four game homestand on Tuesday against the Colorado Avalanche.
Notes: It was the fifth and final meeting between the Oilers and Ducks this season. Anaheim had a 3-0-1 record in the series entering the game and had taken 12 of the past 15 encounters in Edmonton… The Ducks allowed six first period goals in their three games heading into Edmonton. … With the playoffs looming, the Ducks chose to rest their two oldest players, giving Teemu Selanne and Saku Koivu the night off. … Anaheim was without G Frederik Andersen (upper body) and D Cam Fowler (knee). … LW Jesse Joensuu (ankle), LW Ryan Jones (torn PCL), RW Tyler Pitlick (knee), LW Luke Gazdic (shoulder), RW Nail Yakupov (ankle) and D Andrew Ference (chest) missed the game for Edmonton.