Tomas Nosek took a pass from Coyle for a tap-in at the side of the net to make it 2-0 at 15:50.
The Sabres outshot the Bruins 15-7 in the first period and had a 29-8 advantage in shot attempts.
Ullmark was sharp, including a heel save on a backhand shot by Dylan Cozens in a scramble in front of the net.
"I thought he was awesome," Bruins defenseman Brandon Carlo said. "I think he held us in that game, throughout the first two periods, especially. There were some chances that we needed to clean up in front of our net, a little bit. He was a brick wall tonight. I think he played very well."
Coyle extended it to 3-0 with a power-play goal at 5:17 of the second period, connecting from the bottom of the left circle off a pass from Marchand. It was the first power-play goal the Sabres have allowed this season.
"We just made an adjustment, and it happened to work out," Bruins coach Bruce Cassidy said. "It's normally 'Pasta' banging that in so good for Charlie. He shot the puck, something we want more out of at any situation. Happy for him."
Olofsson scored from the right circle to cut it to 3-1 at 14:35 of the third period.
Taylor Hall scored into an empty net at 18:12 for the 4-1 final.
"I feel like we just gave them a little bit too much" Olofsson said. "A lot of chances they created we kind of made a bad play and we got the chances. But it's going to be like that against those teams. It was a big learner for us, for sure. We feel happy with the way we played. I think we'll take a lot with us in this game."
NOTES: Bruins forward Anton Blidh left the game after the second period with an upper-body injury. Cassidy said he will be evaluated when the team returns to Boston. … Sabres defenseman Colin Miller had an assist on Olofsson's goal for his 100th in the NHL. … Forward John Hayden had four shot attempts and two hits in 8:46 of ice time in his season debut for the Sabres.