BUFFALO, N.Y. — Robin Lehner and the Buffalo Sabres have been on a roll since the goalie questioned his teammates' commitment a week ago.

Lehner stopped 16 shots in the third period and 37 overall, and the Sabres snapped the St. Louis Blues' six-game winning streak with a 3-2 victory on Saturday.

Evander Kane and Nicholas Baptiste each had a goal and an assist in Buffalo's third straight win, matching a season best accomplished three times. Ryan O'Reilly also scored during a two-man advantage with 32 seconds left in the second period.

Now that's more like it, Lehner said.

"I don't think it's about spark. As I said before, it's the small, minor details that's been hurting us," he said. "It's not been many times this year where I felt we could complain about our effort. Slowly but surely, we're starting to put it together."

Lehner had a far different reaction following a 4-2 loss to Vancouver on Feb. 12. He challenged his teammates to look themselves in the mirror, and said coaches and fans deserved better.

The Sabres responded by rallying for a 3-2 win at Ottawa on Tuesday. They followed the victory against the Senators with a 2-0 win over Colorado on Thursday.

On Saturday, Buffalo scored three straight times after yielding the opening goal to Vladimir Tarasenko early in the first, and then hung on after Scottie Upshall scored on a short-handed breakaway with 4:57 remaining.

Penalties cost the Blues, who dropped to 7-2 since Mike Yeo replaced Ken Hitchcock as coach.

With St. Louis playing its third game in four days, Yeo said fatigue was a factor in why his team was penalized six times versus Buffalo's three.

"I thought for the first time in a while we were reaching a lot more as opposed to moving our feet," Yeo said. "And when you do that, you get caught out of position. That's when you reach. That's when you take penalties."

O'Reilly's goal came with Kenny Agostino in the box for cross-checking Jack Eichel from behind, and 26 seconds after Upshall was penalized for hooking O'Reilly.

Playing give-and-go with Rasmus Ristolainen, O'Reilly worked his way into the right circle where he spun and beat Jake Allen inside the far post.

It was the first power-play goal allowed by the Blues in 25 chances. The streak had spanned eight-plus games.

Allen made 25 saves.

Kane scored the go-ahead goal at 11:58 when he parked in front and deflected Zach Bogosian's shot from just inside the blue line.

The Sabres beat the Blues for the first time since Dec. 27, 2009, stopping an 0-8-1 drought. It was Buffalo's third win in 24 games against St. Louis dating to the start of the 1998-99 season.

Buffalo improved to 26-23-10, marking the first time the team had three more wins than losses since closing the 2011-12 season with a 39-32-11 record.

Coach Dan Bylsma credited Lehner for the team's turnaround, which followed a mediocre nine-game stretch.

"We've been a team that's been up and down and win one, lose one. And not any of us have been happy with that kind of result with our play, and Robin was one of those guys," Bylsma said. "I think he's stepped up with his play in the last six, seven games."

Lehner's best save came 20 seconds into the second when he kicked out his pad to stop Jori Lehtera.

The start of the game was delayed by about five minutes because of poor ice conditions. Referee Dean Morton announced just as players lined up for the opening faceoff that the rink had to be re-flooded due to the integrity of the ice.

Blues forward Kyle Brodziak said the reason for the delay was as a result of several ruts, which were smoothed during the brief resurfacing.

NOTES: Brodziak returned after missing 10 games with an injury to his right foot. ... Sabres D Cody Franson returned after missing four games with a foot injury. ... Baptiste was recalled from the minors earlier in the day to replace Sam Reinhart, who was sidelined by an illness. D Taylor Fedun was placed on waivers.

UP NEXT

Blues: Host Florida on Monday.

Sabres: Host Chicago on Sunday.