Simon Gagne scored for the Flyers, who had dropped six in a row five times in their 40-year history - including twice this season. The Flyers have the fewest points in the NHL (20) and have only three victories at home, also a league low.
Cam Ward stopped 29 shots as the Hurricanes won their second consecutive game after snapping their season-high five-game losing streak with a 3-2 win at Tampa Bay last Saturday. His best save came late in the second period when a point-blank shot by Jeff Carter bounced off his shoulder.
Philadelphia goalie Antero Niittymaki stopped 40 of a season-high 42 shots allowed by the Flyers.
Williams put the Hurricanes ahead at 12:41 of the first period when he redirected Andrew Hutchinson's slap shot from the point over Niittymaki's glove for his 15th goal of the season.
Babchuk made it 2-0 with his second goal, a slap shot from the left circle at 2:42 of the second period.
Gagne got the Flyers within one at 14:05 of the third when he deflected Randy Jones' slap shot from the right circle high over Ward's shoulder.
Philadelphia centre Peter Forsberg missed his 10th game, this time because of a concussion sustained during a 4-1 loss at Washington last Saturday. The Flyers are 0-7-3 when Forsberg is out of the lineup.
Notes: Carter returned to the lineup after missing 20 games with a broken left ankle. ... Flyers D Jussi Timonen was sidelined with the flu. ... Carolina C Rod Brind'Amour returned after missing four games with a lower body injury. ... Hurricanes C Kevyn Adams was scratched (wrist). ... Williams extended his season-high point streak to five games (four goals, two assists). ... Carolina's Eric Staal hit the left post early in the second period and Cory Stillman did the same with a shot at an open net in the closing seconds.