Chris Kelly scored the winning goal at 18:09 of the third period as the Bruins improved to 38-36-16 in season-opening games.
It wasn't the best played game for either team, but it was the season opener and Boston found a way to grind out a win.
In losing their second-round playoff series against the Montreal Canadiens last spring, the Bruins hit a total of 13 posts. On Wednesday, Boston's first quality scoring chance came early in the first period, but forward Daniel Paille hit the post after winning a race to the loose puck in the offensive zone.
Boston gained a 1-0 lead when Smith scored a power-play goal at 10:39 of the first period. Bruins defenseman Torey Krug drew a roughing penalty on the Flyers' Zac Rinaldo at 9:44, and the Boston power play went to work for the first time this season.
The Bruins had the puck deep in the offensive zone when Patrice Bergeron won a puck battle in the corner and moved it to teammate Carl Soderberg, who quickly made a heads-up, cross-crease pass to Smith, who was waiting on the off-post to give the Bruins the early lead.
Philadelphia nearly tied it later in the period when Bruins defenseman Dougie Hamilton attempted to keep the puck in at the offensive blue line, but it bounced past him as the Flyers created a two-on-one. Philadelphia's Brayden Schenn took the shot, but Rask made the save.
The Bruins held a one-goal lead to start the third period, but it didn't take long for Philadelphia to tie the game at 1-1. Hamilton couldn't get the puck over the red line, and the Flyers gained possession and in transition gained the offensive zone. Philadelphia's Sean Couturier was camped out in front when the puck deflected off the stick of Soderberg and past Rask at 4:19.
Debut: Bobby Robins made his NHL debut and played exactly the way the Bruins expected. The 32-year-old forward and career minor leaguer was on the fourth line, along with Paille and Craig Cunningham. Robins played with energy and registered his first fighting major when he dropped the gloves with the Flyers' Luke Schenn at 10:52 of the second period. Robins held his own in the tussle and skated to the penalty box with a bloody nose.
Milestone: Paille, a former first-rounder, played his 500th career game in the NHL.