The seven-game streak was the Sharks' longest since a 10-game run Nov. 5-30, 2005.
Joe Thornton also scored for San Jose, which began the season with a franchise-record seven successive wins.
St. Louis has dropped five consecutive home games for the first time since losing five in a row Dec. 18, 2009, to Jan. 2, 2010. The Blues also had a three-game winning streak halted. They were coming off a perfect road trip with wins in Detroit, Calgary and Vancouver.
Kennedy scored the go-ahead goal at 13:02 on a shot from the left faceoff circle that eluded goalie Jake Allen, who had won the first three starts of his career.
"I don't know how that quite went through him -- but it's a goal," Kennedy said. "The puck came off the wall and I just fired it. You can't score if you don't shoot."
Kennedy scored for the second time in just three games this season. His fluttering shot seemed to surprise Allen.
"It was kind of a knuckler, it sort of wobbled on me," Allen said.
The Sharks were 0-for-February entering the game, including four one-goal losses.
This time, San Jose made the most of a lucky bounce.
"Finally, we got a fluke goal that went our way," Thornton said. "It was nice to get out of a streak like that. It's huge to get back on the winning side of things."
Niemi improved to 7-2-3. He made 11 saves in the opening period.
"The relief is there, it's (finally) over," San Jose coach Todd McLellan said. "Now, we can't let our game slip."
Patrik Berglund scored his team-high ninth goal for St. Louis in the first period. He has tallied in the past four games, a career best.
Thornton then tied the game early in the second period jumping on a rebound from close range.
San Jose, which outshot the Blues 9-5 in the third period, held St. Louis without a shot for the first 12:17 of the final period.
The Sharks were playing for the first time since Friday while St. Louis arrived home at 6:30 a.m. on Tuesday after a 14-hour travel delay in Vancouver.
Yet the Blues weren't using fatigue as an excuse.
"Too many people not pulling their weight," Coach Ken Hitchcock said. "Too many passengers."
Kennedy led all players with five shots on goal. ... This was the first meeting between the teams since St. Louis beat San Jose in five games in the Western Conference playoffs last season. ... G Jaroslav Halak is expected to start for the Blues on Wednesday in Colorado. ... San Jose played the fourth game of a six-game road trip. The Sharks return home Jan. 26 to face Colorado.