EDMONTON, Alberta — The Pittsburgh Penguins' slow start to the season is a distant memory at this point.
Daniel Sprong also scored, and the Penguins won their ninth in 10 games after a 0-3-0 start.
Oscar Klefbom had the Oilers' lone goal. Edmonton has lost two of three.
Kessel scored on a power play 9:45 into the third. His shot from the point was partially blocked by Brandon Davidson's hand, and then floated past goalie Anders Nilsson.
"We're getting better, we're starting to improve," Kessel said. "We had chances, but, a little crisper and we'll be better."
Jeff Zatkoff stopped 27 shots and won for the second time in two starts this year.
Pittsburgh appeared to score with 4 minutes left in the first period on a power-play goal by Patric Hornqvist, but a coach's challenge determined that the Penguins were offside on the play and the goal was disallowed.
The Penguins had 15 first-period shots, while the Oilers only had five.
Edmonton got on the board 45 seconds into the second period when Klefbom crossed the blue line and unleashed a rocket that beat Zatkoff up high.
Pittsburgh tied the game 9:06 into the second after Matt Cullen won a battle on the boards and fed it in front for Sprong. It was the second goal of the season for the 18-year-old rookie.
Sprong was inserted into the lineup after Pens forward Pascal Dupuis was taken to the hospital as a precaution prior to the game after experiencing symptoms that were similar to his blood clot history.
"He went for precautionary tests before the game and the tests came back negative," Penguins coach Mike Johnston said. "He'll be re-evaluated in Pittsburgh. We want to make sure so he'll get checked out and won't play tomorrow night.
"Spronger came back into the lineup after two games out and I thought he played well."
Edmonton came close to tying it with 2 minutes left, but Leon Draisaitl's shot rang off the post.
"It was a game of bounces tonight," Oilers forward Matt Hendricks said. "We just couldn't find the back of the net. We had at least three posts tonight. We were right there to the end with some good opportunities, but we just weren't able to finish."
Notes: Oilers winger Jordan Eberle made his season debut after missing the first 13 games of the season with a shoulder injury sustained in a pre-season game on Sept. 29. ... This was Edmonton's first game this year without young phenom Connor McDavid. He suffered a broken collar bone in a win Tuesday night against Philadelphia and could be out for up to three months. ... Also out for Edmonton were Justin Schultz (back), Lauri Korpikoski (head) and Rob Klinkhammer (leg). ... The Penguins return to action on Saturday against the Flames in Calgary. The Oilers start a four-game road trip in Chicago on Sunday.