Scott Niedermeyer, Chris Pronger and Sheldon Brookbank also scored for visiting the visiting Ducks, who moved into a tie with Nashville for the final two playoff spots in the Western Conference.
Anaheim scored on three of its five power plays and Jonas Hiller made 28 saves in goal.
Edmonton, which slumped to its fifth loss in six games, trails Nashville and Anaheim by three points.
The Oilers had goals from Andrew Cogliano, Denis Grebeshkov and Zack Stortini.
Edmonton took a 1-0 lead midway through the opening period on Cogliano's wrister. But Brookbank scored his first NHL goal with 5:47 to play in the period to tie the game and Anaheim scored three more times for a 4-1 before the Canucks pulled back to within one.
Rob Niedermeyer closed out the scoring with an empty-net goal in the closing seconds.