Joni Pitkanen, R.J. Umberger and Mike Richards had the other Flyers' goals. Philadelphia snapped a five-game losing streak. Mark Mowers ended his stretch of 27 games without a goal by scoring a pair for Boston, and defenceman Zdeno Chara had his 10th of the season.
Martin Biron, acquired from Buffalo on Tuesday for a second-round pick in the 2007 draft, made 34 saves in his Flyers' debut. He made a right pad save on Petr Tankrat's clean breakaway bid with just under 15 minutes to play.
Upshall, sent in on a partial breakaway on a pass from Pitkanen, slipped around defenceman Andrew Ference before shifting to his backhand and putting the puck behind Thomas for the game-winner.
The Bruins, outshot 55-37, have allowed more than 50 shots on goal in two of their last three games.