1846. aastal, Mehhiko-Ameerika sõja alguses, määrati Roberts taas esimeseks leitnantiks, ratsutatud vintpüssid, regulaarses armees. Ta edutati 1847. aastal kapteniks ja osales Veracruzis, Cerro Gordos, Contrerasis, Churubuscos.
, ja Mexico City, Matamorose ja Galajara mäe vallutamine. Churubuscos sai ta majoriks, sest juhtis ründajate ettevalmistusrühma. Ta sai veel ühe auastme, 1847. aastal leitnant-koloneli, sõjas osalemise eest. Pärast sõjategevuse lõppu teenis ta piirkonnas ja Washingtonis.