Árið 1846, í upphafi Mexíkóska-Ameríska stríðsins, var Roberts endurnefndur í fyrsta liðsforingja í reglulega hernum. Hann var færður í skipstjóra árið 1847 og sá aðgerðir í Veracruz, Cerro Gordo, Contreras, Churubusco
, og tök á Mexíkóborg, Matamoros og Galajara-göngunum. Í Churubusco var hann hafnarforingi fyrir að leiða forystu á stormarum. Hann hlaut frekari skírn, að liðsforingi árið 1847 fyrir gallantry í stríðinu. Eftir að átökin voru lokið þjónaði hann á landamærunum og í Washington.