Claude Giroux, Nate Thompson and Sean Couturier also scored for the Flyers (3-1-1). Carter Hart made 34 saves against his hometown team in Philadelphia's first road game of the season.
"He was great," Flyers defenseman Keith Yandle said. "Against a team like that, they're super explosive and they can make plays out of nothing.
"You always have to be on your game defensively and the goaltender is a big part of that. He made a lot of big stops for us and it was a big team effort."
Tyson Barrie, Connor McDavid and Zach Hyman scored for the Oilers (5-1-0) in their first loss. Mikko Koskinen stopped 29 shots.
"I thought we played well," Barrie said. "There are a couple we would have liked to have back. It would have been nice to go 6-0 to start the year, but you are not going to win them all."
Philadelphia started the scoring seven minutes in as Giroux picked up Travis Konecny's errant shot behind the net and put the wraparound in for his fourth of the season before Koskinen could get across his crease.
The Flyers got a bit of a gift goal midway through the first period when Koskinen coughed up the puck behind the net, allowing Thompson to shovel it in from the goal line.
Edmonton got that one back 35 seconds later as Barrie beat Hart with a backhand from a sharp angle.
The first period ended in a flurry of action, as the Oilers tied it on a power play with 18 seconds left when McDavid's pass was inadvertently deflected in by a Flyers defender. But with less than a second to play, Philadelphia went up 3-2 when Darnell Nurse mishandled the puck and Atkinson batted it in out of midair.
Edmonton tied the game less than a minute into the second as Hyman scored his fifth goal in the last three games off a scramble in front.
The Flyers surged back in front four minutes into the third when Atkinson fired his sixth of the season past Koskinen. Couturier added an empty-netter in the final minute.
"I thought we played our best period in the third when the game was on the line and we found a way to get two points in a very tough environment," Flyers coach Alain Vigneault said.
The last time the teams played each other was Oct. 16, 2019. ... G Mike Smith (lower body) remained out for the Oilers, while defenseman Ryan Ellis (undisclosed) and forward Kevin Hayes (abdomen) were out with injuries for the Flyers. ... Philadelphia forward Patrick Brown has recovered from a bout with COVID-19, but was still unable to travel to Canada.
Philadelphia: At Vancouver on Thursday.
Edmonton: At Vancouver on Saturday.