Marco Sturm, P.J. Axelsson, Brandon Bochenski, and Marc Savard also scored for the Bruins, who have won four of five. Jeff Carter, Kyle Calder, and Scottie Upshall, playing his first game in Philadelphia since being acquired Thursday in the deal that sent captain Peter Forsberg to Nashville, scored for the Flyers. They had won three of four.
Boston's Tim Thomas made 30 saves in earning his fourth win in five games.
Sturm put the Bruins ahead 1-0 at 13:38 of the first period when he deflected in Savard's shot during a power play.
Each team scored three goals in the second period.
Upshall scored his second goal in two games with Philadelphia to pull the Flyers into a 1-1 tie 43 seconds into the second period. He snapped a shot in after taking a pass from Carter, who scored 7:08 on a spin move in front to make it 2-1.
Axelsson tied it 34 seconds later and Tenkrat put the Bruins in front 3-2 at 11:17. Both players scored on wrist shots from the left circle.
Tenkrat, who had not scored in 25 games, made it 4-2 by hammering in a rebound at 15:36.
Calder got the Flyers closer by following up his own shot in a scramble in front at 16:12.
Bochenski scored off a 3-on-1 rush at 3:10 of the third period, and Savard added an empty-net goal with 32 seconds left as the Bruins scored twice on only three shots in the period.
Philadelphia was without winger Mike Knuble, who is out indefinitely and awaiting facial surgery. He broke his right orbital bone and cheekbone during a violent collision with New York's Brendan Shanahan on Saturday.
Notes: Sturm has scored seven goals in seven games. ... Flyers LW Mike York played in his 500th NHL game. ... The Bruins played the fourth of a six-game road trip, their longest of the season. ... Carter hit the crossbar with a shot midway through the second period. ... Philadelphia LW Ben Eager sprained his right ankle late in the second period and didn't return. ... The Bruins recorded a season-low 18 shots.