Brown was recruited by Gary Barnett at Northwestern University and signed with NU under new coach Randy Walker after Barnett took the Colorado head coaching job. Unhappy with being switched to receiver, Brown left Northwestern after the 1999 season and played a year at Fort Scott Junior College before transferring again to the University of Colorado. At Colorado, Barnett provided him an opportunity to become one of the school's all-time leading rushers, including a school record 6 TDs against Nebraska in 2001 during his sophomore season. Brown's success continued into 2002, playing himself into a dark-horse Heisman Trophy candidate, before a late-season injury derailed his season and caused him to miss 2 and a half games. To most Colorado fans' dismay, Brown elected to skip his senior season and enter the NFL draft.
Professional career
Tennessee Titans
Brown was drafted by the Tennessee Titans in the 3rd round of the 2003 NFL Draft, with the 93rd overall selection. As a rookie in 2003, Brown was not available to play during the preseason and five regular season games due to a hamstring injury. Although being behind two other backs, Brown averaged 3.9 yards per carry on 56 carries totaling 221 yards, the Titans' team high for the 2003 season. He also performed very well in the playoffs. At the beginning of the 2004 season, Brown was promoted to starting running back due to the absence of Eddie George in the Titans' lineup. He had a strong start, and finished the season with 1,067 yards, but several injuries forced him to miss significant time and also affected his play. He led the NFL in Yards per carry in 2004. In January 2005, Brown underwent successful surgery on both ankles. In 2005, Brown ran for 851 yards. Brown has been criticized in the past for running too upright and not running as powerfully as other backs his size. In 2006, the Titans drafted LenDale White, a more traditional power runner, coupled with the emergence of Travis Henry, Brown was deactivated for several games during the 2006 season. Brown completed his contract with the Titans before leaving as a free agent to sign with the Houston Texans. Brown rushed for a career-high 175 yards against the Jacksonville Jaguars on September 9, 2007.
Houston Texans
On March 13, 2008, Brown was signed by the Houston Texans to a two-year deal worth $3.6 million, including an $800,000 signing bonus. Brown played well for the Texans, but his Week 3 fumble, his only of the season, against the Jacksonville Jaguars cost the team a chance to tie a game and force overtime. He also was intercepted on a halfback pass that was a poorly conceived play. Brown completed his two-year contract with the Texans.