The Detroit Tigers selected Hannahan in the third round of the 2001 Major League Baseball draft. Hannahan made his major league debut on May 26,, playing first base. He went 0-for-9 with the Tigers in 2006. in 2008
Oakland Athletics
On August 13,, he was traded to the Oakland Athletics for outfielderJason Perry. He had been with the Toledo Mud Hens, the Tigers' Triple-A team, for the whole season until the trade. He hit.295 with 13 home runs and led the International League with a.422 on-base percentage at the time of the trade. The Athletics purchased his contract the day afterEric Chavez went on the disabled list. He started 40 of the Athletics' final 43 games at third base. On August 15,, Hannahan got his first major league hit, a double, off Mark Buehrle of the Chicago White Sox. It was the fourteenth at bat of his career. On August 20, 2007, against the Toronto Blue Jays, Hannahan hit his first career home run offShaun Marcum. In, Hannahan was on the major league roster the entire season, serving as the primary third baseman while Eric Chavez was on the disabled list most of the year. Following the 2009 spring training camp, he was sent to the Sacramento River Cats.
Seattle Mariners
2009 season
Hannahan was traded to the Seattle Mariners for pitcher Justin Souza on July 11,. With the Mariners holding an 11-5 lead over the Kansas City Royals on August 6, Seattle manager Don Wakamatsu substituted Hannahan for shortstop Jack Wilson, who was experiencing minor discomfort in his right triceps area. This marked the first time Hannahan played shortstop at the major league level. He was briefly the starting third baseman for the Mariners after Adrián Beltré was put on the disabled list. Hannahan finished the season with a combined.213 batting average between the A's and the Mariners with 14 doubles, two triples, four home runs and 19 RBIs in 103 games. On May 28, 2010, he was designated for assignment by Seattle. He accepted his option to Triple-A Tacoma.
On July 22, 2010, Hannahan was traded to the Boston Red Sox for cash considerations or a player to be named later. He was assigned to Triple-A Pawtucket.
Cleveland Indians
On December 3, 2010, Hannahan signed a minor league contract with the Cleveland Indians with an invitation to major league spring training. He earned a spot with the Indians after spring training.
Cincinnati Reds
On December 13, 2012, Hannahan signed a two-year, $4 million contract with a club option for 2015 with the Cincinnati Reds and is expected to provide depth throughout the infield, specifically at third base. Initially reported as a one-year deal, he will earn $1 million in each of his guaranteed seasons, and his option is worth $4 million with a $2 million buyout.
LG Twins
On December 23, 2014, Hannahan signed a one-year deal worth $1 million with the LG Twins of the Korea Baseball Organization. On July 16, 2015, he was released from the LG Twins due to injuries and Luis Jiménez was signed to replace him. On July 18, 2015, Hannahan held a press conference to announce his retirement from professional baseball.