Durant la Guerra Mexicano-Americana, va lluitar a la Batalla de Contreras i a la Batalla de Churubusco
, tots dos a l'agost de 1847. Mentre combatia a Churubusco va ser ferit de nou, i la seva actuació combinada amb les seves accions a Contreras li va guanyar el brevet al rang de major el 20 d'agost. Walker va participar en la Batalla de Molino del Rey a principis de setembre i va ser ferit una vegada més, aquesta vegada a l'esquena. Per les seves accions allà va ser nomenat tinent coronel el 8 de setembre.