Lors de la guerre américano-mexicaine il sert sous les ordres du général Zachary Taylor lors des batailles de Palo Alto et du Resaca de la Palma. Il sert ensuite sous les ordres du général Winfield Scott, puis est promu Lieutenant à la bataille de Cerro Gordo, puis capitaine pour celles de Contreras et de Churubusco.