Financial terms of the deal were not released by the team, but CBC's Tim Wharnsby reports that the contract will pay him $8.3 million. That's an annual salary cap hit of $4.15 million.
He had an arbitration hearing scheduled for July 22.
Stewart was originally acquired by the Blues -- along with top defenseman Kevin Shattenkirk -- during the 2010-11 season in a blockbuster trade that sent former No. 1 overall pick Erik Johnson to the Colorado Avalanche. The trade to this point has been a huge success for the Blues as both players have become key pieces of their core.
Stewart is coming off a 2012-13 season that saw him score 18 goals to go with 18 assists in 48 games.
Consistency has sometimes been a problem for him as he has a tendency to run hot and cold at times when it comes to his goal production. He scored 28 goals in back-to-back years in 2010 and 2011. He was scoring at a similar pace this year during the lockout-shortened season.