Vuonna 1846, Meksikon-Amerikan sodan alussa, Roberts nimitettiin ylimmäksi luutnanttiksi, ratsastettuun kivääriin, säännölliseen armeijaan. Hänet ylennettiin kapteeniksi vuonna 1847, ja hän näki toimintaa Veracruzissa, Cerro Gordossa, Contrerasissa, Churubuscossa.
Mexico Cityn valloittaminen, Matamoros ja Galajara-luukku. Churubuscossa hän sai majurin arvon johtaneensa hyökkääjiä. Hänet ylennettiin ylemmäksi everstiluutnanttiksi vuonna 1847 urhoollisuudestaan sodan aikana. Sodan päätyttyä hän palveli rajalla ja Washingtonissa.