Durante la guerra messicano-americana, combatté nella battaglia di Contreras e nella battaglia di Churubusco
, entrambi nell'agosto del 1847. Mentre era impegnato a Churubusco fu nuovamente ferito, e le sue prestazioni combinate con le sue azioni a Contreras gli fecero guadagnare il brevetto al grado di maggiore il 20 agosto. Walker poi partecipò alla battaglia di Molino del Rey all'inizio di settembre e fu nuovamente ferito, questa volta alla schiena. Per le sue azioni fu nominato tenente colonnello l'8 settembre.