Cory Hodgson and Alexandre Burrows scored for the Canucks, who saw their two-game winning streak come to an end. Roberto Luongo stopped 11-of-14 shots on goal before he was replaced by Cory Schneider.
Schneider finished with eight saves.
Luongo ran into trouble in the second period when the Oilers scored three quick goals to take a 3-0 lead at the 6:55 mark. Edmonton had just seven shots on goal in the period.
Hodgson got Vancouver on the board at 11:29 and the Canucks cut the gap to one on Burrows' wrist shot at 7:43 of the third period.