Dokonči nasledujúcu vetu: V roku 1846, na začiatku mexiko-americkej vojny, bol Roberts znovu vymenovaný za prvého poručíka, v riadených puškoch, v pravidelnej armáde. V roku 1847 bol povýšený na kapitána a videl akciu v Veracruze, Cerro Gordo, Contreras,
Churubusco, a zachytenie Mexico City, Matamoros a Galajara priechod. V Churubuscu získal titul majora za vedenie predvojovej skupiny útočníkov. V roku 1847 získal ďalšie povýšenie na podplukovníka za statočnosť počas vojny. Po skončení nepriateľstva slúžil na hraniciach a vo Washingtone.