Laird, 31, has played exclusively in the American League with both Texas (2003-08) and Detroit (2009-10), recording a career .242 batting mark with 34 home runs and 192 RBI in 598 games.
The right-handed hitting Laird appeared in 89 games for the Tigers in 2010 and finished third in the American League in catcher's throwing percentage (29.2%), third in base runners caught stealing (24) and third in assists (52).
The 6-foot-1, 225-pound Westminster, CA native ranks second among all American League catchers in caught stealing percentage (35.8%) since 2006 and his 142 base runners caught stealing over the past five seasons (2006-10) leads all Major League catchers.
Laird enjoyed his best overall season in 2006 for the Rangers, batting .296 with 20 doubles and seven home runs in 78 games. He's hit at a .331 (60-for-181) career clip against National League teams, including a .298 (34-for-114) mark against N.L. Central clubs.
Detroit did not offer arbitration to Laird, a Type B free agent, so will not receive compensation. With the move, the Cardinals' 40-man roster is at 39.