Carter Hutton made 30 saves for Buffalo.
Pat Maroon and David Perron scored for St. Louis, which is 1-2-2 in its past five games after winning 15 of its previous 19. Jake Allen made 31 saves.
"Not doing the right things, not taking care of the puck, maybe thinking it would be an easier game than it is," Schenn said. "There's a lot of good teams in this league, and you can't take any team lightly. It's nice to get a point out of that, but if we play the right way, we should be able to beat this team at this time of year."
Larsson scored to put the Sabres up 1-0 at 6:42 of the first period after Zach Bogosian sent a cross-ice pass to him coming down the left side.
Maroon tied it 1-1 at 9:12 when he circled around the net and into the slot untouched. The goal was his 200th NHL point.
Rodrigues showed patience on a 2-on-1, cutting to the inner edge of the left circle before shooting far side on Allen to make it 2-1 at 14:48.
"I thought we had a bit of a 2-on-1, but [Sheary] got stuck holding the line so when the [defenseman] kind of slid over, I didn't want to just throw one in him," Rodrigues said. "I just kind of out-waited him, out-waited him, and then just tried to throw it on net, create something, try to score, and it went in."
Sheary made it to 3-1 at 7:46 of the second period on another 2-on-1 for Buffalo, taking a pass from Alex Nylander before shooting top corner, glove side.
Perron extended his personal point streak to 15 games when he scored to pull St. Louis within one at 12:15. After Buffalo defenseman Rasmus Ristolainen's stick broke, Colton Parayko pushed the puck up to Perron coming out of the penalty box, and the forward took advantage of a moving screen in front to make it 3-2 with a shot from the top of the right circle.
"It was one of those games. It wasn't very clean all game," Blues coach Craig Berube said. "It was a tough grind out there. We didn't execute very well. Give them credit, they played hard. We just didn't execute very well and our puck play wasn't very good, we turned a lot of pucks over and they had the puck more than us."