Nick Bonino also scored for the Canucks, who improved to 4-2-0 in pre-season play.
Teddy Purcell responded for the Oilers, who dropped to 4-3-0 in exhibition action.
There was no scoring until there was just 1:19 left in the first period, when Edmonton snagged the lead.
Jesse Joensuu followed up on a two-goal night against Arizona the night before by showing some solid hustle to fight off two defenders in a race to the puck along the boards. Joensuu fed it to Purcell, who scored his first goal as an Oiler since coming over in a trade with Tampa Bay this summer.
Purcell beat Canucks goalie Eddie Lack with a backhand in tight, the first goal Lack has allowed in the pre-season. Lack was shaken up by a collision on the play, but was able to continue in net.
It was a pretty feisty affair with several fights, punctuated by a brief stretch early in the second that saw Cal O'Reilly drag down Edmonton's Nikita Nikitin, forcing him from the game with an ankle injury. Vancouver's Tim Sestito then took a run at Oilers goalie Viktor Fasth, earning the ire of rookie defenceman Darnell Nurse and later a fight with Kevin Westgarth.
Vancouver tied the game 11 minutes into the second period with a short-handed goal as Edler made a long feed to Bonino and he beat Fasth with a quick shot.
The Canucks went up 2-1 with five minutes left in the second while the teams were playing four men a side as Niklas Jensen fed a wide-open Edler in the slot and he blasted it into the Edmonton net.
There was no scoring in a largely uneventful third period.
The two teams will close out the pre-season with a rematch in Vancouver on Saturday night.
Notes: Canucks forward Bo Horvat left the game in the first period with an upper body injury and did not return… Vancouver and Edmonton met five times in the regular season last year, with the Canucks winning three of the five outings… The Canucks iced a largely veteran lineup, however their top line remained at home as the Sedins and linemate Radim Vrbata did not play. Also unavailable due to injuries were Brad Richardson, Frank Corrado and Zach Kassian… The Oilers re-assigned goalie Laurent Brossoit and defenceman David Musil to Oklahoma City earlier in the day, but still had 32 players in camp heading into Thursday's game… Out with what are reported to be minor injuries for the Oilers at the moment are defencemen Andrew Ference and Jeff Petry and forward David Perron.