Pearson had two goals and two assists, and Tyler Graovac, Loui Eriksson and Josh Leivo also scored for the Canucks. Bo Horvat also chipped in with three assists to help Vancouver snap its three-game losing streak.
Edmonton slipped to 16-9-3, still tops in the Pacific Division. The Canucks are five points back at 13-10-4.
The division rivals wrap up their home-and-home set Sunday in Vancouver.
It was a nice bounce back game by the Canucks, who let a 4-2 lead slip away in their last game against the Penguins and fell 8-6.
"We needed that one, after the way Pittsburgh went. To get the lead tonight hold it and keep on pushing, was a big step," said Pearson.
"There have been a couple of those games this year where it kind of slipped away in the third. No one really said anything -- we all knew the job that had to be done."
The Canucks' power play has been hot on their six-game trip and it propelled Vancouver to an early 1-0 lead.
Graovac, who was called up by the Canucks on Nov. 13, scored past Smith 3:31 into the opening period.
Pearson extended Vancouver's lead to 2-0 with his sixth of the season, and his second short-handed goal in five games. After a flurry of chances by the Oilers, Pearson took the puck down the right wing and tried to center a pass to J.T. Miller, but the puck went in off Smith's pad.
McDavid rallied Edmonton 42 seconds later, but the opening frame was dominated by Vancouver, which outshot the Oilers 17-7.
"It was a great start and that helped set us the rest of the game and Marky (Markstrom) made unbelievable saves and kept us in it," Horvat said.
Kassian scored his ninth of the season at the 5:05 mark of the second period, tying the game at 2-2.
Kassian's goal sparked Edmonton and the winger nearly scored again but Markstrom stood his ground, denying Kassian from jamming in a loose puck in the crease twice midway through the second period.
Vancouver struck twice in a span of 4:17 as Pearson scored his second of the game and Eriksson added his first goal of the season on a backhand feed from Horvat, giving Vancouver a 4-2 lead.
It was the first time the trio played together this season and they were dynamite against the NHL's top duo of McDavid and Leon Draisaitl.
"It was awesome to be back with Lou and Pears," said Horvat.
"We were all ready for it, we all knew the assignment we were going against and I thought we did a great job."
The Oilers have had some big third-period comebacks this season, but Vancouver made sure to quash any notion of another rally. Leivo scored his third goal on a wraparound just 1:21 into the third period to give the Canucks a commanding 5-2 lead.
Despite being down by three goals early in the third, the Oilers showed a flurry of desperation. However, Markstrom came up big with a pad save from point-blank range off of McDavid in the Oilers' best scoring chance of the period.
After being injured in the season opener, Oilers defenseman Adam Larsson played his first home game since Oct. 2 versus the Los Angeles Kings. Larsson made his return to the lineup on Nov. 21 at Los Angeles.
Graovac's first period goal was his second goal as a member of the Canucks since being recalled on Nov. 13. The 26-year-old has eight career NHL goals in 64 games with Minnesota, Washington and Vancouver, and he's scored three against the Oilers.
Vancouver defenseman Alexander Edler sustained an upper-body injury and didn't play the third period versus Edmonton.
Canucks: Host Edmonton Oilers on Sunday.
Oilers: At Vancouver on Sunday.
More AP NHL: https://apnews.com/NHL and https://twitter.com/AP-Sports