Alex DeBrincat also scored, and Kevin Lankinen made 33 saves for the Blackhawks (27-42-11), who had lost two straight and four of five.
"Yeah, the guys battled. They worked," Chicago coach Derek King said. "[Lankinen] played well, we did some good things. We got a little risky at times, but the fans like it. I don't like it all the time, but I think [Patrick Kane] should've had about another 10 assists tonight. He was feeling it, but it was just good to get a win, especially at home.
"Finish right at home, get the fans out of their seats, give them something that, when they walk out of here and get in their cars, they're talking about our team, about how they competed or how they won the game. That's all we can ask for."
Kevin Hayes scored, and Felix Sandstrom made 30 saves for the Flyers (25-44-11), who were coming off a 4-1 win against the Pittsburgh Penguins on Sunday.
"We just didn't play well enough," Philadelphia coach Mike Yeo said. "That's what it comes down to. There's parts of our game where we were doing OK, but we weren't good enough with the puck tonight against a team that transitions really well."