Torres had already notched a pair of first-period goals to give the Canucks a 3-0 advantage, but it was his final tally that turned out to be the game-winner.
Dustin Penner, Ryan Jones and Gilbert Brule all scored to bring the Oilers even at 3-3. But with 10:53 remaining, Torres got off a soft back-hander that may have been intended as a pass but snuck past Nikolai Khabibulin for the go-ahead tally.
Torres also leveled a tremendous hit on the Oilers' Andrew Cogliano after Edmonton had pulled Khabibulin and was pressing for the tying goal.
Roberto Luongo stopped 23-of-26 shots and Daniel Sedin scored his eighth goal for Vancouver, which got its first road win of the season.
Khabibulin made 26 saves for Edmonton.