The Canucks, who have already clinched the top spot in the Western Conference, lost consecutive games for the first time since mid-January and their second straight game to the Oilers, who are out of the playoff hunt.
Roberto Luongo had 20 saves for Vancouver.
Ryan Jones and Magnus Paajarvi scored Edmonton's two goals, both on power plays. Jones tipped in a shot by Jordan Eberle with 3 seconds left in the first period to make it 1-0. Paajarvi scored at 17:14 of the third period.
The Oilers had 22 shots on goal to Vancouver's 26.