Kyrou's power-play goal at 3:21 of the third period cut the St. Louis deficit to 2-1 when he skated into the high slot and beat Cooley through traffic.
"Me and [Pavel Buchnevich] had a little give-and-go there," Kyrou said. "I just decided to step in the slot and shoot it. Nice screen by 'Schenner.'"
Schenn tied it 2-2 at 17:31 after the Blues pulled Hofer for an extra skater, won a face-off, and got a puck down low for Thomas, who found Schenn in the slot for a one-timer.
Eklund made it 1-0 at 14:42 of the second period on the power play on a one-timer from the right circle into the top left corner off a point pass from Henry Thrun.
Eklund's second power-play goal of the game made it 2-0 at 16:59 on a scramble for a loose puck at the goal mouth, and Eklund put it in from the right edge of the goal.
The Blues, who lost 4-0 at home to the Sharks on March 30 and 5-1 on Nov. 16, started off the game outshooting San Jose 13-5. They were 1-for-6 on the power play, including a four-minute one at the end of the first and into the second but failed to convert.
"Obviously frustrating," St. Louis defenseman Colton Parayko said. "We put a lot of pucks towards the net. No real answer off the top of my head. Not a great season series (against San Jose) obviously for sure. There's no secret to that."
NOTES: It was also Eklund's first multigoal game in the NHL. ... Sharks forward Collin Graf had one shot on goal in 13:36 in his NHL debut after signing as an undrafted free agent Thursday out of Quinnipiac University. ... Blues defenseman Justin Faulk and forward Jake Neighbours each left in the second period with an upper-body injury, and Bannister said after the game each will be evaluated on Sunday prior to playing against the Anaheim Ducks. ... St. Louis scratched veteran forward Kevin Hayes and defenseman Torey Krug. Hayes had not missed a game this season.