Thomas gave the Blues a 1-0 lead at 4:47 of the first period when he toe-dragged the puck to the right face-off circle and beat Ullmark with a wrist shot through traffic, and then set up Bozak in the slot from behind the net for a 2-0 lead at 13:29.
"Great play," Bozak said. "When he's got the puck, you've got to try and get open. He sees the ice so well and makes those good plays. [Steen] was right in front of the net, he had two guys on him there. That's another big reason why I did get that easy goal there."
Eichel cut the lead to 2-1 at 4:22 of the second. He has five points (three goals, two assists) during his streak and has had at least one point in 23 of his past 25 games (19 goals, 18 assists).
The Sabres had few scoring opportunities the rest of the game.
"Everybody needs to get hungrier to shoot on net," coach Ralph Krueger said. "I think we still give up too many opportunities, our D and our forwards, to try to make a play, and the other thing will be to get bodies there. We need to find other ways to create net pressure, and we're going to have to work hard on that to turn this result around."
David Perron scored a power-play goal at 10:17 to put St. Louis ahead 3-1.
Jaden Schwartz scored for the Blues at 17:24 of the second, but Krueger challenged for offside, and the goal was overturned after video review showed Jordan Kyrou entered the zone ahead of the puck at 17:20.
Steen scored his first goal of the season at 5:36 of the third to make it 4-1. He scored into an empty net at 5-on-4 at 15:18 for the 5-1 final.
St. Louis has won two in a row after going 0-2-1 from Dec. 31-Jan. 4.
"I thought we were pretty good defensively all around," Blues coach Craig Berube said. "I thought that we had urgency in the D zone and pressuring and not giving them time. We talked about not giving this team time and space with the puck, and I thought we did a good job of it."