Laird hit .232 with one home run and 12 RBIs in 37 games last season for the World Series champion St. Louis Cardinals.
The 32-year-old Laird has a .241 career average with 35 homers in nine major league seasons. He was with the Tigers in 2009 and 2010 and also played for Texas (2003-08).
Tigers general manager Dave Dombrowski says the righty-hitting Laird is a "solid complement to Alex Avila as our backup catcher."
Laird's deal includes the same performance bonuses as his 2011 contract: $60,000 each for 50, 60, 70, 80 and 90 games started as a catcher.
Detroit announced the agreement Friday.