Kane had a pair of second-period goals and finished off the hat trick with an empty-netter at 18:50 of the third. It was the first time in 36 career games against the Ducks that Kane scored more than one goal.
Leon Draisaitl got the go-ahead goal midway through the third and the Oilers scored three times in the final 12 minutes to overcome a 3-2 deficit. Ducks goaltender Lukas Dostal came in for the final period after John Gibson sustained a lower-body injury.
Zach Hyman scored his team-leading 31st goal in the third to tie it 3-3. Connor McDavid had three assists to extend his point streak to five games.
Calvin Pickard stopped 24 shots and won his fifth straight start in net.
Edmonton, which had a 16-game winning streak snapped Tuesday night at Vegas, has not lost consecutive games since mid-December.
Anaheim’s Ryan Strome had the 13th two-goal game of his 11-year career and his first since April 19, 2022, with the New York Rangers.
Cam Fowler had a goal and an assist, while Adam Henrique and Frank Vatrano both had two assists. Henrique extended his point streak to seven games.
Dostal made eight saves. Gibson allowed two goals and made 19 saves.
Fowler opened the scoring at 18:40 of the first on the power play when his wrist shot from just outside the slot went past Pickard’s glove. It was the defenseman’s third goal of the season and first since Nov. 14.
The teams traded goals during a 29-second span midway through the second. Kane evened it 1-all at 9:11 with a wrist shot from the right circle. Strome quickly put the Ducks back on top when he got behind Edmonton’s defense and put a wrist shot by Pickard for his seventh of the season.
Kane tied it again, this time on a wrist shot from the slot at 12:51 off an odd-man rush.
Strome gave the Ducks a 3-2 advantage at 3:20 of the third on the power play with a shot from the left circle for his eighth.
Hyman, tied for sixth in the NHL in goals, redirected McDavid’s shot past Dostal at 8:41.
Draisaitl put the Oilers ahead on the power play on a one-timer from McDavid at 10:09. It was his 24th of the season and 13th in the last 11 games versus the Ducks.
Up next for the Ducks: Begin a four-game trip against Montreal on Tuesday.