He played in MLB for the Arizona Diamondbacks, Oakland Athletics, and Tampa Bay Rays and in Nippon Professional Baseball (NPB) for the Fukuoka SoftBank Hawks.
On July 7, 2009, he was traded from the White Sox to the Arizona Diamondbacks for pitcher Tony Peña.
Allen would play in 32 games that season and finished with a .202 batting average, four home runs, and 14 RBIs.
On August 23, 2011, Allen became only the second player in history to hit a home run into the upper deck at the New Yankee Stadium (Russell Branyan being the first).
Later in the game he hit a shorter home run into the second deck to help the Athletics defeat the Yankees 6–5.
On April 19, 2012, Allen was claimed off waivers from the Oakland Athletics by the Tampa Bay Rays.