Na de Slag bij Cerro Gordo in april 1847 werd hij gepromoveerd tot majoor. Hij vocht ook bij Contreras, Churubusco en Chapultepec, en raakte gewond in de laatste van deze drie. Tegen het einde van de oorlog was hij luitenant-kolonel.