The St. Louis Cardinals and Allen Craig, coming off a breakout season, have agreed on a five-year contract through 2017 with a club option for 2018.
The 28-year-old Craig has 150 RBIs in 238 career games. He was sixth in the National League with a .307 average and 22 home runs last season and had 92 RBIs despite missing more than a month while rehabbing from off-season knee surgery.
Craig led the major leagues with a .400 average with runners in scoring position and has hit .374 the last two seasons, second in the majors behind the Reds' Joey Votto.
Craig also had a big post-season for a championship team in 2011, hitting three homers in the World Series
Allen Craig was drafted to the St. Louis Cardinals in 2006 (Dilip Vishwanat/Getty Images)

