Scott Hartnell and Max Talbot also had goals for Philadelphia, which snapped a three-game losing streak.
Tyler Bozak scored two goals and Joffrey Lupul had one for the resurgent Leafs, who were 6-2-1 in their previous nine games.
Coming off a 1-0 shootout loss to the New York Islanders on Tuesday night, the Flyers needed this victory to strengthen their hold on fourth place in the Eastern Conference.
Sergei Bobrovsky made 24 saves, including a pad stop on Bozak's hard shot during a 4-on-2 rush with five minutes left.
The teams changed their pace after a slow-moving first period and combined for six goals in the second, including three in the first six minutes.
Giroux put the Flyers ahead to stay when he fired a shot into the top right corner. Jaromir Jagr set it up with a perfect pass from the side of the net to Giroux, who scored his 21st goal.
Schenn then made it 4-2 when he scored into a wide-open net after Danny Briere's shot from the right wing hit James Reimer's right shoulder and ricocheted to the left circle.
Bozak answered, scoring his second goal with 1:51 left in the period to cut it to 4-3. He put in a rebound in front with traffic surrounding Bobrovsky.
The Flyers stiffened defensively and held on.
In a matchup of two of the NHL's top three scorers, Phil Kessel had two assists, but Giroux had the difference-maker. Pittsburgh's Evgeni Malkin leads the league with 62 points, Giroux has 61 and Kessel 60.
A fluke goal by Bozak just 54 seconds in started the scoring barrage in the second period. Bozak's shot bounced off Flyers defenseman Braydon Coburn's skate and went in.
Just 2:38 later, Talbot deflected a slap shot by Andrej Meszaros past Reimer.
Lupul then scored a power-play goal to tie it at 2. Dion Phaneuf's shot bounced out of Bobrovsky's glove, and Lupul put it in for his 22nd goal.
Hartnell gave the Flyers a 1-0 lead with 5:22 left in the first period. Erik Gustafsson's shot hit Jagr, and the puck trickled to Hartnell, who shot it through Reimer's legs. Hartnell immediately turned around, exchanged words with Phaneuf and the two dropped their gloves.
Notes: Flyers G Ilya Bryzgalov missed the game because of the flu. Jason Bacashihua was called up from Adirondack of the AHL to back up Bobrovsky. ... Hartnell and Talbot both snapped six-game goal-scoring droughts. ... Lupul hadn't scored 20 goals in a season since getting 25 for the Flyers in 2008-09. ... Kessel has nine points in four games. ... Toronto's Mike Brown got the best of Zac Rinaldo in a first-period fight, landing several punches during a flurry of fists. ... The Flyers had won five of six against Toronto. ... The Leafs killed four penalties and each of the last 28 power plays against them. They haven't allowed a man-advantage goal in 17 games, the NHL's longest streak since Chicago had a 19-game run in the 1969-70 season.