EDMONTON, Alberta -- Almost a year after a big hit by Boston's Zdeno Chara nearly ended his career, Max Pacioretty is on a roll.
Canadiens coach Randy Cunneyworth is still amazed by how well Pacioretty has played this season after last year's hit in a game against the Bruins left the 23-year-old Pacioretty with a severe concussion and a broken vertebra in his neck.
"That's a heck of a thing to come back from," Cunneyworth said. "The dedication and the work he has had to do is something. He came back bigger and stronger. That line as a group has done a lot of good work all year."
P.K. Subban added a goal and two assists, setting up both of Pacioretty's goals.
"I'm happy that I could help him get to 30 goals," Subban said. "I don't know if that means I get dinner or something like that. For a guy that has already gone through so much in his career with the neck injury, it's inspirational to see what he has done for our hockey club this year."
Tomas Kaberle and Lars Eller also scored for Montreal (26-32-10), which won for the second time in nine games. The Canadiens prevented the Oilers (26-35-6) from catching them for 28th place in the NHL standings.
"You play to win," Subban said. "As far as the players in the dressing room go, you want to win every game and you want to compete. It's your job to go out there and try to win every game, and that's what we did."
Shawn Horcoff, Linus Omark and Taylor Hall had goals for the Oilers, who have lost four of five.
"We were a little undisciplined," Oilers coach Tom Renney said. "We could have been a lot smarter. As tough as it was from a fatigue perspective, you have to play smart. Had we done that, certainly we had a shot at this game. Montreal played hard, but I think we could have had it had we played a smarter game."
Tied 2-2 after two periods, the Canadiens took the lead for good three minutes into the third period on the power play when Kaberle picked up a rebound at the side of the net and lifted a shot over goalie Nikolai Khabibulin for his third goal of the season.
Eller made it 4-2 just two minutes later after throwing a puck out from behind the net that caromed in off Khabibulin.
Edmonton got back to within a goal with seven minutes to play. Hall showed patience to wait out a defender before snapping in his 24th goal, and earning his 50th point.
There was a mad scramble in the Canadiens' end in the final minute, and the puck resting on the back of Montreal goalie Peter Budaj's neck at one point before it was cleared. Pacioretty scored his 30th into an empty net with 17 seconds left.
The Oilers' top-ranked power play got them on the board first with eight minutes to play in the opening period when Horcoff tipped a point shot from Corey Potter past Budaj.
The Canadiens tied it with 17 seconds left in the first on a power play when Subban unleashed a shot from the point that got past Khabibulin.
Montreal went ahead 2-1 two minutes into the second period when Scott Gomez swung around the back of the net and put a shot on target. Pacioretty swooped in to score his 29th goal on the rebound.
The Oilers tied it five minutes later after a giveaway in the Montreal zone. Omark took a long shot that clipped a Canadiens defender and deflected in. It was the first goal of the season for the recent AHL call-up.
Montreal appeared to take a 3-2 lead with four minutes to play in the second period when Rene Bourque poked at a puck that Khabibulin had wedged between his skate and the post. The play was ruled a goal on the ice but was reversed upon a video review.
It was the second and final meeting of the season between the teams. Edmonton won 3-1 in Montreal in November. ... The Canadiens had lost four consecutive games and eight of nine in Edmonton. They were 0-9 record overall in games in Alberta since the lockout. ... Edmonton's only home win over Montreal in nine games was Nov. 22, 2003, outdoors at Commonwealth Stadium. ... Montreal D Andrei Markov has been cleared for contact but is still out. Gomez returned after missing two games because of injury. ... Montreal lost C David Desharnais to an undisclosed lower body injury. ... Oilers LW Ben Eager sat out because of the flu.