Brad Marchand scored his fifth goal in three games, and Linus Ullmark made 32 saves for Boston (17-5-3), which had its three-game winning streak ended.
“We seem to kind of be going back and forth to playing the way we need to to be successful, and trying to be too cute,” Marchand said. “And I think in the games it’s going to be easy at times, and you know, this game will humble you pretty quick. We saw that tonight.”
The Sabres outshot Boston 19-5 in the first period.
“We just didn’t have any energy or life to us,” Bruins coach Jim Montgomery said. “I got to take responsibility for the lack of us having that preparation, it clearly wasn’t correct.”
JJ Peterka gave Buffalo a 1-0 lead at 1:18 of the second period, shooting into the top corner from behind the left circle off Dylan Cozens’s face-off win.
Thompson made it 2-0 at 16:57 of the second, one-timing Connor Clifton's centering pass from the high slot. Thompson scored his first goal in his second game since returning from an upper-body injury.
“I think just focusing just a shift at a time,” Thompson said. “Just step over the board and try to win your shift. Try to win the battle, beat the guy across from you. Don’t worry about the end result, and I think we did that tonight.”
Marchand cut it to 2-1 38 seconds later, throwing the puck in front from the right circle and bouncing it in off Sabres defenseman Erik Johnson. The five consecutive team goals scored by Marchand is the second-most in a row in Bruins history, tied with David Pastrnak (2019-20) and Dunc Fisher (1951-52) and one behind the six consecutive scored by the record-holder Glen Murray (2003-04).