Claude Giroux, Nate Thompson and Sean Couturier also scored for the Flyers (3-1-1).
Tyson Barrie, Connor McDavid and Zach Hyman replied for the Oilers (5-1-0), who suffered their first loss of the season.
Philadelphia started the scoring seven minutes into the first period as Giroux picked up an errant Travis Konecny shot behind the net and put the wrap-around in for his fourth of the season before Oilers goalie Mikko Koskinen could get across his crease.
The Flyers got a bit of a gift goal midway through the first period when Koskinen coughed the puck up behind the net, leading to Thompson shovelling it in from the goal line.
However, Edmonton got that goal back 35 seconds later as Barrie activated down low and beat Flyers starter Carter Hart with a backhand shot from a sharp angle.
There was a crazy finish to the first as the Oilers tied the game up on the power play with 18 seconds left when a McDavid pass was inadvertently deflected in by a Flyers defender. However, 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 mid-air.
Edmonton tied the game less than a minute into the second period as Hyman scored his fifth goal in the last three games out of a scramble in front.
The Flyers surged back in front four minutes into the third frame as Atkinson blasted his sixth of the season past Koskinen.
Couturier added an empty netter in the final minute to put the game away.
Both teams will head to Vancouver for their next game, as the Flyers continue their three-game road trip against the Canucks on Thursday and the Oilers play them on Saturday.
Notes: The last time the two teams played each other was on Oct. 16, 2019? Goalie Mike Smith (lower body) remained out for the Oilers, while defenceman Ryan Ellis (undisclosed) and forward Kevin Hayes (abdomen) were out with injuries for the Flyers. Philly forward Patrick Brown has recovered from a bout with COVID, but was still unable to travel to Canada.