The Devils had a golden chance to score only moments earlier, but a shot by Dainius Zubrus clanged off the post.
On the ensuring rush the other way, Flyers defenseman Nicklas Grossman faked goalie Martin Brodeur, then passed to a wide-open Schenn, who fired in the game-winner from the right wing.
Ray Emery stopped 31-of-33 shots.
New Jersey had forced overtime when Michael Ryder scored a short-handed goal with 30 seconds left.
Adam Henrique also scored and Brodeur finished with 25 saves for the Devils, who fell for the fifth time in seven games.
McPhee, Cokas 'working on their marriage' after affair
LGBT community has 'bullied the American people': Bachmann