During the Mexican–American War, Brown served as a major under Generals Zachary Taylor and Winfield Scott. He won distinction at the battles of Monterrey, Cerro Gordo, Contreras, and the Gate of Belén during the fall of Mexico City, brevetted a lieutenant colonel and colonel in the last two engagements respectively. Involved with military recruitment from 1848 to 1852, he fought in the Third Seminole War and remained in Florida until 1857. Brown served in various duties and was Inspector of Artillery prior to the American Civil War.