Thomas was the Blues' last unsigned restricted free agent and will be in training camp when it opens Thursday.
The 22-year-old, who is coming off his entry-level deal, had 12 points in 33 games last season in a campaign limited by injuries.
His best season came in 2019-20 when he had 42 points in 66 games before the pandemic forced an early cancellation to the season.
The Aurora, Ont., native will be counted on to continue to develop his offensive game on a Blues team evolving after the departure of Jaden Schwartz and a potential trade involving Vladimir Tarasenko.
Thomas was one of several restricted free agents still without a contract deep into September, with Rasmus Dahlin, Brady Tkachuk, Quinn Hughes and Elias Pettersson just some of the other notable names in that group.