"He's a good, young player with a lot of upside," Blues president John Davidson told The Canadian Press. "It's a sensible deal for both sides."
Stempniak, 24, set career highs in goals (27), assists (25) and points (52) while playing in all 82 games with the Blues last season. He ranked first on the team in goals and was second with 52 points while earning $450,000.
His arbitration hearing has been scheduled for next Tuesday in Toronto.
"I'm appreciative of the Blues ownership and thrilled that they have made a long-term commitment to me," Stempniak said in a statement. "I enjoyed playing last season under (coach) Andy Murray and I'm happy to continue my career with the team. St. Louis is an outstanding sports town and it's been great to play in front of our great fans."
Stempniak has 79 points (41-38 assists) in 139 NHL games in two seasons with the Blues.