Počas americko-mexickej vojny bojoval v bitke pri Contreras a bitke pri Churubusco.
, obaja v auguste 1847. Počas boja pri Churubuscu bol opäť zranený a jeho výkon v kombinácii s jeho akciami v Contreras mu 20. augusta získal titul majora. Walker sa potom zúčastnil bitky pri Molino del Rey začiatkom septembra a bol opäť zranený, tentoraz v chrbte. Za svoje činy tam bol 8. septembra povýšený na podplukovníka.