Buffalo twice came back from a one-goal deficit, tying the game at 2-2 on a backhander from Adam Mair with 5:58 left in the third period. It was only the second win in 10 games for the Sabres.
Ryan Miller made 27 saves to pick up his 31st victory of the season.
Despite their recent problems, the Sabres moved back into first place in the Northeast Division. They are one point in front of Ottawa.
Philadelphia has lost two in a row after five consecutive wins. Leighton stopped 32 shots.
Wisconsin business offering 'therapeutic cuddling' forced to close
Workers accuse National Zoo of animal mismanagement