1846 m., Meksikos-Amerikos karo pradžioje, Robertsas buvo pakartotinai paskirtas pirmuoju leitenantu, įgulų šautuvais, Reguliariosios armijos. 1847 m. jis buvo paaukštintas į kapitoną ir dalyvavo Veirakruze, Cerro Gordo, Contreras, Churubusco
, ir Meksikos miestas, Matamoros ir Galajara proga. Churubusco, jis buvo patentuotas majoras už vadovavimą išankstinei partijai šturmeriai. 1847 m. jis gavo dar vieną titulą - pulkininko leitenanto. Pasibaigus karui, jis tarnavo pasienyje ir Vašingtone.