Vesey scored into an open net from in front after receiving a backhand pass from Sam Reinhart to give Buffalo a 1-0 lead at 7:01 of the first period. Jack Eichel had the secondary assist on the goal to extend his point streak to nine games (four goals, seven assists).
Benn tied it 1-1 at 4:28 of the second period, shooting into an open net after Miro Heiskanen's shot from the blue line caromed to him off the end boards.
Heiskanen took a stick to the head at 5:20 before leaving the game later in the period. Stars coach Rick Bowness said that the defenseman is day to day with an upper-body injury.
"We lose one of our best players, but that's going to happen during a game and some guys are going to have to step up," Stars defenseman John Klingberg said. "I still think we had some good efforts today and I think we bring it all the time here in the room.
"When Miro went out, I don't know what actually happened, but it's tough for sure."
Dahlin gave the Sabres a 2-1 lead at 16:10 of the second with a wrist shot through a screen from the top of the right circle.
"I thought the second period actually, scoring chance wise, was pretty even," Sabres coach Ralph Krueger said. "They had more shots than we did (16-5), but if you look at the game's storyline, you had to expect some pushback after being up on them after the first, and they gave a strong push."
Bowness said, "We were [controlling the play]. It was disappointing to give up that goal with 3:50 to go. [Our] goal gave us a jump, but we needed something else to give us another jump and we just weren't able to do it."
Frolik scored a shorthanded goal into an empty net at 17:44 of the third period to make it 3-1, and Zemgus Girgensons scored into another empty net at 19:50 for the 4-1 final.
"It's an empty-netter, but it's a goal and I'll take it," Frolik said about his first goal with Buffalo since being acquired in a trade with Calgary Flames on Jan. 2. "Hopefully I can keep it going and I think the guys are great here."