Connor McDavid broke a 2-2 deadlock with five-and-a-half minutes to play, splitting the defence before beating Markstrom to the blocker side on a strong solo effort.
Zack Kassian also scored for the Oilers (1-0-0), who won their sixth straight season opener.
Alexander Edler and Tanner Pearson replied for the Canucks (0-1-0), who had won their previous five season-openers.
The Oilers started the scoring six minutes into the first period when Kassian won a battle in the crease and feed the puck out to Draisaitl, who beat Canucks starter Jacob Markstrom.
Edmonton goalie Mike Smith kept that lead intact through the first, making a huge toe save on J.T. Miller.