W 1846 roku, na początku wojny meksykańsko-amerykańskiej, Roberts został ponownie mianowany pierwszym porucznikiem w armii. Został awansowany na kapitana w 1847 roku i brał udział w akcjach w Veracruz, Cerro Gordo, Contreras, Churubusco.
, i zdobycie Mexico City, Matamoros i przełęczy Galajara. W Churubusco otrzymał tytuł majora za dowodzenie grupą szturmowców. Otrzymał kolejny dyplom podpułkownika w 1847 roku za odwagę podczas wojny. Po zakończeniu działań wojennych służył na granicy i w Waszyngtonie.