The Flyers couldn't get any of their 11 first-period shots past Ilya Bryzgalov, who played his first game against Philadelphia since the club bought out his hefty long-term contract.
"I know they're not going to quit," Bryzgalov said of the Flyers. "I knew they were going to play hard and they were going to get lots of pucks to the net. That's the style they play, aggressive."
Bryzgalov stopped Sean Couturier on a pair of short-handed opportunities in tight, including one on a diving stick save, in the second period. The Oilers have allowed an NHL-high eight short-handed goals this season.
The Flyers cut the deficit to 2-1 with a power-play goal at 3:37 of the second. Simmonds tipped in a shot from the top of the circle by Claude Giroux, who extended his point streak to eight games.
Philadelphia tied it with 7:47 left in the second with another power-play goal. A pretty tic-tac-toe passing play had Bryzgalov spinning around before Simmonds scored his second of the night into a wide-open net.
Philadelphia held a 14-3 shots edge in the second period.
Edmonton regained the lead on its next power play with 8:08 remaining in regulation. Perron banked a shot from the side of the net off Flyers defenseman Niklas Grossmann and into the net for his team-leading 16th of the season and the 100th of his NHL career.
Philadelphia came right back and tied it with 5:32 left, netting its third power-play goal. Hartnell tipped Kimmo Timonen's shot past a frustrated Bryzgalov during a 5-on-3 advantage.
Mason kept it tied with two minutes left when he stopped Perron with a glove save during a breakaway.
The Flyers outshot the Oilers 38-16 through overtime.
NOTES: It was the second and final meeting between the teams this season. The Flyers, who won 4-2 at home on Nov. 9, hadn't won in Edmonton since March 19, 2001. ... The Flyers owe Bryzgalov $1.6 million per year through the 2026-2027 season. ... Oilers D Corey Potter (groin) didn't play. Recent AHL call-up Martin Marincin was in the lineup in his place. ... Flyers RW Steve Downie returned from an upper-body injury. RW Adam Hall also played after missing practice on Friday because of the flu.