Alexandar Georgiev made 30 saves for the Sharks (11-23-6), who are 0-7-1 in their past eight games and 1-10-1 in their past 12.
"We didn't have anything tonight," San Jose coach Ryan Warsofsky said. "This wasn't good enough."
Nick Seeler gave the Flyers a 1-0 lead at 5:59 of the first period. He skated down from the left wing, made a move around Barclay Goodrow in the circle, and banked a shot in off Georgiev from along the goal line.
"Just a tough bounce there. I was trying to be on the post and be solid," Georgiev said. "Somehow the puck just hit me on the hand and managed to get in."
Ryan Poehling pushed the lead to 2-0 at 12:09 of the second period. He picked up the rebound of Zamula's one-timer from the left point, moved the puck to his backhand and scored past a sprawling Georgiev.
"I think it's always nice to obviously have coach trust me to play more," Poehling said. "For me, it's just always having confidence in yourself and just playing the right way. I think tonight was a good example of that."