Knuble opened the scoring at 14:49 of the first period. Trevor Zegras made it 2-0 on a power play at 19:17, batting the rebound of a Matvei Michkov shot out of the air and past Ukko-Pekka Luukkonen.
Jason Zucker, making his season debut after sports hernia surgery, cut the lead to 2-1 with a power-play goal at 19:25 of the second. Knuble restored the two-goal lead 3:03 into the third when the puck went in off Luukkonen's skate.
Dan Vladar stopped 27 of 28 shots. Philadelphia (3-6-3) has won three in a row after starting the season 0-6-3. Tyson Foerster returned after missing one game with an undisclosed injury.
Luukkonen made 23 saves for Buffalo (4-4-2), which is 1-1-2 in its last four games. Sabres captain Rasmus Dahlin returned after missing four games with an upper-body injury and played 26:27.
Up next: the Flyers host Anaheim on Saturday at 1 p.m. ET. The Sabres open a four-game road trip at Washington the same night at 7 p.m. ET.