It was Lapierre's first goal in 23 games. It was the first point by Reaves in 26 games.
"If we're honest with ourselves, we can play way better," Lapierre said. "There's no way we're happy with our effort tonight. We're going to have to fix it."
St. Louis added its second goal at 18:08 of the third period. Morrow stuffed in a loose rebound for his 13th of the season.
"We can definitely look at our mistakes and see where we can get better," Lieuwen said. "We could have definitely taken this game to overtime and given them a run for their money. They're really good, especially in front of the net. They're a very good team."
Buffalo's Cody Hodgson cut the Blues' lead to 2-1 with his 18th goal at 19:04. He took a pass from Tyler Ennis and one-timed it past Elliott.
Sabres coach Ted Nolan was impressed with Elliott's play.
"We had a number of chances and good teams don't rely on just one goaltender," Nolan said. "They have a couple and Elliot stood tall when he needed to be there and he made some key saves when he needed to. He was very good."
Ryan Miller, St. Louis' No. 1 goalie, got the night off after shutting out Philadelphia on Tuesday. Miller and Steve Ott, who was Buffalo's captain, came to St. Louis on March 1 in a trade that sent goaltender Jaroslav Halak and forward Chris Stewart to the Sabres.
Buffalo then dealt Halak to Washington. Stewart played two games with the Sabres before sustaining a lower-body injury that likely will keep him out for the remainder of the season.
This was Buffalo's only trip to St. Louis this season. The Blues beat the Sabres 4-1 in Buffalo on Nov. 19.