Kyrou had a goal and two assists, Thomas and Pavel Buchnevich each had a goal and an assist, and Jordan Binnington made 28 saves for the Blues (21-18-3), who are 4-1-0 in their past five games.
St. Louis used a reset after the second period to revive what it was trying to accomplish and keep its momentum off a four-game road trip.
"I didn't feel we had our legs," Blues coach Craig Berube said. "We didn't push hard enough. Going into the game after the long road trip back home, a little bit worried. But guys responded in the third period. I thought we played a way better period. I thought that the [Tyler] Pitlick, [Alexey Toropchenko], [Nikita] Alexandov [line], I put [Noel] Acciari there later, but those guys really provided a lot of energy for us tonight."
Andrew Mangiapane had a goal and an assist, and Markstrom made 23 saves for the Flames (19-14-9), who have lost two straight in overtime to begin a five-game road trip, which continues here Thursday.
"It obviously [stinks]. That's not the way we want to end the game," Calgary forward Nazem Kadri said. "To be quite honest, I think we played a pretty solid road game. Had a lapse of five minutes [but] the good players don't need many chances to score, and they made us pay."