A face-off win by Couturier in the first period set up the Flyers' first goal. He beat Zach Hyman in the right circle by pushing the puck back to Giroux, who one-timed it past Andersen at 9:21 to make it 1-0.
"I think [Couturier] is the kind of player that anyone can play with," Giroux said. "He's a smart player. He's always in good position. Really fun to play with him."
Patrick Marleau and James van Riemsdyk scored for the Maple Leafs (20-11-1), and Andersen made 35 saves. It was Toronto's first loss in four games.
Van Riemsdyk gave the Maple Leafs a 2-1 lead when he tipped a shot by Mitchell Marner past Elliott for a power-play goal at 16:50 of the second period.
The Flyers tied it 2-2 on Konecny's goal at 5:36 of the third period. He carried the puck to the top of the Maple Leafs zone, spun and shot. It deflected off Toronto forward Dominic Moore and over Andersen's left shoulder.
Laughton scored into an empty net with 16 seconds left to make it 4-2.
"I don't like the third," Maple Leafs coach Mike Babcock said. "To me, we had gifted [the Flyers] two goals, so the one tough play the goalie touched the goal and then the play that they came in, we're above those people. To me, you can't do that. I thought we were set up pretty good, to be honest with you. I thought they worked hard and I thought they moved the puck, but I thought we were in a real good situation. In the end, we didn't execute on things we normally execute on to win. That's on us and two good points for them, but I really thought we let this slip away. We should have got one for sure, if not two."
Twenty-seven seconds after Giroux scored, Marleau tied it 1-1. He beat Giroux to a loose puck near the Flyers blue line, carried it through the neutral zone and beat Elliott from the left face-off dot at 9:48.