The Canucks were without leading scoring Henrik Sedin, who missed his first game in close to a decade with an injury, and head coach John Tortorella, who started his 15-day suspension for an altercation during a game against the Calgary Flames on Saturday.
Jordan Eberle replied for the Oilers (15-31-6), who have lost five in a row and 10 of their last 12.
It was also Edmonton's fourth losing streak that has gone five games or more this season.
Vancouver got on the board just over five minutes into the game as Oilers starter Ben Scrivens allowed a big rebound on a long shot from Dale Weise and Lain was there to swat at the rebound that glanced off of Scrivens' arm and in. It was Lain's first career NHL goal in just his second game.
Vancouver had nine first-period shots to Edmonton's six on Luongo.
Shortly after killing off a penalty where Luongo stood tall on several good Oiler chances, the Canucks made it 2-0 eight minutes into the second period as Ryan Kesler spotted Kassian streaking towards the net and fed a pass to set up a floater of a shot that beat Scrivens up high. It was Kassian's 10th of the season.
Luongo did his part to keep the two-goal lead intact with five minutes to play in the second half as he came across to make a huge blocker save in tight on Eberle with the Oilers on the power play.
Eberle, who also hit a post early in the third period, was finally rewarded with five minutes remaining as Sam Gagner crashed the crease and a mad scramble ensued before the puck came loose and he was able to send it through a forest of legs to make it 2-1 and spoil Luongo's shutout bid.
Edmonton had its chances late in the game with Scrivens on the bench, but couldn't get another goal past Luongo. Scrivens finished with 25 saves.
The Canucks return home to start a four-game stand against Nashville on Thursday. The Oilers next game is on Friday, when they play host to the Phoenix Coyotes.
Notes: It was the third of five games between the Pacific Division rivals. Vancouver won both of the previous encounters by a combined score of 10-2. The Canucks entered the game having won eight of the previous 11 games between the two squads ... A pair of players acquired during Edmonton's four-game road trip made their Oilers debut as the fans got their first looks at forward Matt Hendricks (traded from Nashville) and Scrivens (trade with Los Angeles). Scrivens, from the Edmonton satellite community of Spruce Grove, Alta., was playing his first-ever game in Rexall Place. ... The Oilers were missing the likes of forwards Ales Hemsky (foot) and Nail Yakupov (head) and defenceman Philip Larsen (illness). Defenceman Corey Potter returned from missing the last 11 games with a groin injury. ... Also out for the Canucks were Mike Santorelli (shoulder), Ryan Stanton (ankle), Andrew Alberts (concussion) and Jordan Schroeder (ankle).