1846an, Mexikoko Gerraren hasieran, Roberts komandanteak armadako ofizial gorena izendatu zuen. 1847an kapitaina izendatu zuten, eta Veracruz, Cerro Gordo, Contreras, Churubusco-n aritu zen.
Mexikoko Hiria hartu zuten Matamoros eta Galajarako pasabidea. Churubuscon, komandantea izan zen, eraso talde baten buru. 1847an beste patente bat jaso zuen, teniente koronela, gerran egindako ausardiagatik. Gerraren ostean, mugan eta Washingtonen egin zuen zerbitzu.