The hard-shooting Salo gave the Canucks the lead with one minute left in the period. Showing no effects of the groin injury that kept him out of Friday night's game, Salo swooped around the Oilers net, then fired a seeing-eye shot that snaked through several Edmonton players and behind goaltender Dwayne Roloson.
At the final buzzer several players exchanged punches but the scuffles ended quickly.
Big forward Taylor Pyatt also scored for the Canucks, who ended a three-game winless skid. Vancouver's record improved to 3-2-1.
Raffi Torres, with his first goal of the year, scored for the Oilers who are 3-2-0. Edmonton saw a two-game win streak snapped.
The Canucks outshot the Oilers 37-18 and showed more hustle and heart than they did in Friday's home-opening loss to San Jose.
Scoring remains a problem for Vancouver. In an effort to generate more offence coach Alain Vigneault moved centre Ryan Kesler onto the second line where he played right wing with Brendan Morrison and left-winger Jan Bulis.
The unit worked hard, and used its speed to create some chances, but still couldn't find a touch around the net. Kesler and Bulis have yet to score a goal this season.
Pyatt, who has been criticized for not playing up to his six-foot-four, 233-pound frame, tied the game 1-1 midway through the second.
Defenceman Kevin Bieska blasted a shot that Roloson stopped. Pyatt pick up the rebound and put it home.
Torres opened the scoring early in the second, scooping up a big rebound given up by Vancouver goalie Roberto Luongo.
The Canucks outshot the Oilers 17-7 in the scoreless first period and had a couple of golden scoring opportunities.
In one series Daniel Sedin had the fans holding their breath when he couldn't find the handle on a bouncing puck at the edge of the Edmonton crease. Just a few seconds later Bieska rang a shot off the post behind Roloson.
When the whistle final blew the sellout crowd of 18,630 was on its feet with the loudest cheer heard at GM Place this season.
Steve Staios looked ready to put the Oilers on the scoreboard in the first period. With Luongo out of position, Staois was staring at an open net but fanned on the shot.
The two teams meet again Tuesday night in Edmonton.
Notes: With Salo returning to the lineup rookie defenceman Luc Bourdon didn't dress. ...The Canucks play their next five games on the road and don't return home until Oct. 27 against Washington. ...Vancouver had allowed 108 shots in the previous three games.