Claude Giroux snapped a 21-game goal drought that dated to last season, and fourth-liner Jay Rosehill scored his first in 18 games for the Flyers, who entered averaging a League-low 1.47 goals per game then scored more than one goal for the seventh time in 16 games.
Scott Hartnell and Vincent Lecavalier also scored. Mark Streit had a pair of assists, and Steve Mason stopped 24 of 26 shots. The Flyers won for the second time in five games and snapped a three-game home losing streak.
David Perron, in his first game back after missing four with a neck injury, scored for the Oilers. Taylor Hall had a goal, and Devan Dubnyk made 30 saves. The loss was Edmonton's second straight and seventh in eight games.
Giroux, who two seasons ago was third in the League with 93 points and last season was a point-per-game scorer, had seven assists in his first 15 games.
He had two glorious chances to score with 4:55 left in the second period, making a great move on Dubnyk to create an open net but lifting his backhander over the crossbar. He got the puck right back just to the left of the net but Ryan Smyth blocked his wrist shot. Giroux slammed his stick in frustration, but Wayne Simmonds thought he saw something different in his teammate.
"I was actually watching him skate up the ice and he had a little smile on his face, as if he knew he was going to get one," Simmonds said. "He pushed through and he did get one."
With the Flyers holding a 2-1 lead in the third period, Giroux picked up the puck in the Philadelphia end, raced up ice into the Edmonton zone, faked a shot, cut to the middle, and using Oilers defenseman Andrew Ference as a screen blasted one past Dubnyk at 11:26.
It was Giroux's first goal since April 15.
"It's frustrating," Giroux said. "It's been a couple months now and it's been tough. But to get that one kind of took a lot of weight off."
The players on the Flyers bench stood up to congratulate Giroux, and Mason left his crease to give a high-five.
"It was obviously a lot of relief," Giroux said. "To see all the boys on the bench being happy too, I think that was really fun."
Hartnell said, "[Giroux] played a great game. He seemed like he had the puck on his stick the whole night. He had the breakaway, the one-timer right afterward. ... It was almost getting funny on the bench there that he hadn't got one yet. [On the goal he] made a great move. That's the old [Giroux] that we know and everyone has learned to love. I think he's back now. He feels great with the puck and we have to keep that thing rolling."
For a team that had been outscored 18-6 in the third period this season, it was a jolt of confidence that allowed the Flyers to withstand a late Oilers rally that started when Hall scored to make it a one-goal game.
"Going into the third and getting that third goal that was huge for us," Streit said. "Big goal for us. And then getting another one, it's good for the confidence."
They also got a dose of confidence early when Rosehill, who has been a healthy scratch seven times in 16 games, drove to the net to redirect a Streit pass past Dubnyk at 11:56 of the first period.
It was the Flyers' first goal in three November home games and snapped a club-record shutout streak of 175:22 that dated to a Lecavalier goal with 3:26 left in the first period of an Oct. 29 game against the Anaheim Ducks. That streak includes back-to-back shutout losses to the Washington Capitals on Nov. 1 and the New Jersey Devils on Nov. 7.
According to the Elias Sports Bureau, the Flyers' longest home-ice drought had been 157:22, set from Nov. 21 to Dec. 5, 2002.
"We needed a spark, definitely," Hartnell said. "[Rosehill] at practice he's got some skill. He's not an old-fashioned goon. ... [It] definitely gave us a big boost of energy on the bench."
Hartnell made it 2-0 with his second goal of the season, with 2:44 left in the first period. Braydon Coburn's shot from the right point was blocked but the deflection went to Streit along the wall on the left side of the Edmonton zone. The defenseman sent a quick pass through the slot to Hartnell, who stopped it and snapped a wrist shot past Dubnyk.
The two goals in the first marked the first time the Flyers scored more than once in a period since scoring twice in the first period Oct. 29 against Anaheim.
Perron cut Edmonton's deficit in half with a power-play goal with 1:35 left in the second period. Midway through the power play Giroux turned over the puck in the Philadelphia end. Ales Hemsky got the loose puck at the blue line and skated past Giroux and Nicklas Grossmann as he went behind the Philadelphia net. He came out the other side and found Perron just off the post on the left side, and he one-timed it past Mason.
Two minutes after Giroux's goal put the Flyers back up by two, Hall banged a loose puck in the slot past Mason to make it 3-2. That was as close the Oilers would get; Lecavalier capped the scoring with a sharp-angle goal at 16:33.
"I thought we started well the first 10 minutes of the game and then we took a penalty, and it kind of unraveled from there," Hall said. "They had some really good time in our end, had some really good chances. [Dubnyk] made a lot of big stops tonight, where in the past couple games we haven't been giving up those kinds of shots. It's something we have to clean up."
The Oilers (4-12-2) have to regroup quickly; they traveled after the game for one Sunday against the Chicago Blackhawks. The Flyers (5-10-1) get three days to enjoy the win before starting a three-game road trip Tuesday against the Ottawa Senators.
Giroux grew up not far from Ottawa in Hearst, Ontario, and played his junior hockey just across the river in Gatineau, Quebec. The hope is now that he's got a goal, he and the Flyers can start improving together.
"To get that first goal, I think it's going to get his confidence going," Lecavalier said. "He's going to play at another level."