Free agent infielder Ty Wigginton and the St. Louis Cardinals have agreed to a $5 million, two-year contract.
General manager John Mozeliak announced the agreement Friday and said Wigginton gives the Cardinals a right-handed bat ''with punch.''
The 35-year-old Wigginton, who will make $2.5 million annually, has hit 15 or more homers six times during 11 big league seasons. He had 22 in 2010, when he was an All-Star with Baltimore.
Wigginton has a .263 career average with 169 home runs and 591 RBIs in 1,315 games with the New York Mets (2002-04), Pittsburgh (2004-05), Tampa Bay (2006-07), Houston (2007-08), Baltimore (2009-10), Colorado (2011) and Philadelphia (2012). He has played 100 or more games in each of the past seven seasons.
He can earn additional performance bonuses.