Detroit Red Wings goalie Cam Talbot stopped 27 shots, but it wasn't enough as the Boston Bruins' Brad Marchand scored midway through the third period to put the team up 2-1, which would end up being the final score.
Marchand scored with 8:30 left as the Bruins followed a 1-0 victory over Utah on Thursday in Sacco's debut after he replaced Jim Montgomery, who was dismissed on Tuesday. Marchand's goal Saturday night was his sixth this season and the 18th of his career against Detroit.
Justin Brazeau scored a power-play goal for Boston and Jeremy Swayman made 19 saves.
Lucas Raymond scored for the Red Wings, who have lost four of their last five games.
Boston killed off a Red Wings power play in the final 1:22. Detroit defenseman Moritz Seider hit the crossbar with 30 seconds left, and Swayman was able to cover the puck.
Boston's power play, ranked last in the league, is showing signs of life with a man-advantage goal in three straight games.
Raymond, who scored 31 goals last season, had just two goals in Detroit's first 18 games. He scored a winner in the final minute against the Islanders on Thursday and converting in the final minute of the first period on Saturday.
Detroit was called for icing moments before Marchand's goal, even though a Red Wings player was near the puck when the whistle blew. Boston was able to keep the puck in Detroit's zone after the faceoff and Marchand lifted a shot from the right circle over Talbot's shoulder.
Dylan Larkin's assist on Raymond's goal was the 300th of his career. He's the 15th Red Wings player and 12th Michigan-born player in NHL history to reach that mark.
The Red Wings play at the New York Islanders on Monday.