EDMONTON, Alberta -- Raffi Torres got the best of his former team Tuesday.

Torres had a hat trick and the Vancouver Canucks withstood a late charge to beat the Edmonton Oilers 4-3 for their fourth straight win.

Daniel Sedin also scored for the Canucks (6-3-2).

Torres was pleased to have a big night against the Oilers, but also to help his new club get its first road win of the season.

"Being a new guy on the team, anytime you can help out in any way possible, it's good," Torres said. "I'm just trying to keep my game simple so it's nice to get rewarded."

Dustin Penner, Ryan Jones and Gilbert Brule scored for the Oilers (3-5-2), who have one win in their past eight games after a 2-0 start.

"You can't spot any team in the league three goals or they're going to beat you," Jones said. "I don't think there's any doubt that if we played three periods like we did the last two we'd be laughing in here with two points."

After Vancouver blew a three-goal lead, Torres completed his hat trick with a backhand that surprised Oilers goalie Nikolai Khabibulin with nine minutes to go in the third.

"[Torres] has been a real solid player for us," Canucks coach Alain Vigneault said. "He came into camp with a great attitude and with really good conditioning. He's been doing the right things for us on and off the ice. He had a real big game for us tonight."

The Canucks opened the scoring with a pair of goals 32 seconds apart to go up 2-0 just past the midpoint of the first period.

Sedin scored his eighth of the season on a long power-play tip-in past Khabibulin. Torres made it 2-0 after a diving play on a rebound off the board to chip a shot over the Edmonton goalie.

Torres, who spent six seasons with the Oilers' organization, scored his second of the night with five minutes to go in the opening period, tipping a Kevin Bieksa shot past Khabibulin with the man advantage to make it 3-0.

The Oilers made it 3-1 in the second period. Andrew Cogliano created a turnover behind the Vancouver net, and Penner swung in front to beat Canucks goalie Roberto Luongo.

Edmonton cut the lead to a goal four minutes into the third as Zack Stortini put a shot on net. Jones kept digging at the loose puck in front until he slid it under Luongo to make it 3-2.

The Oilers tied the game two minutes later as Brule took a feed from Cogliano and his slap shot beat Luongo.