Drafted in the first round (14th overall) by the Kansas City Royals in 1996, Brown played for the Royals in parts of major league seasons from 1998-2004, spending all of the 2005 and 2006 seasons in the minor leagues with the Wichita Wranglers, the Kansas City Double-A Affiliate. On December 30, 2006, Brown signed a minor league contract with an invitation to spring training with the Arizona Diamondbacks and was assigned to the Tucson Sidewinders, Arizona's Triple-A affiliate. On May 30, 2007, Brown was traded to the Oakland Athletics for cash considerations. In December 2007, Brown signed a minor league contract with the Los Angeles Angels of Anaheim and spent the entire 2008 season in Triple-A and became a free agent after the season. He signed a minor league contract with the Los Angeles Dodgers for the 2009 season. He hit .295 with 19 homers and 80 RBI with the AAA Albuquerque Isotopes in 2009.