Sam Reinhart and Johan Larsson each had a goal and an assist, and Victor Olofsson had two assists for the Sabres (15-11-6), who have won two in a row for the first time since Oct. 19 and 22. Linus Ullmark made 28 saves.
"I thought we broke out well," Eichel said. "There were a few shifts here or there where they had extended zone time, but for the most part, I thought we did a really good job of packing it in, playing in front of our net and keeping them to the outside. Linus made some great saves. He was tremendous tonight as he's been lately. He's been the backbone of this team, he's given us a chance to win every night."
WATCH: [All Blues vs. Sabres highlights]
Troy Brouwer and Alex Pietrangelo scored, and Jake Allen made 28 saves for the Blues (18-8-6), who have lost three in a row.
"We had some real good chances tonight," St. Louis coach Craig Berube said. "I thought their goalie played well, made some great saves. We hit three posts, you know, that's the difference. In saying that, we've got to find a way to win. We've got to fight through this adversity. You're going to get bumps in the road like this. You've got to grind through it and get through it."