Participó en la Guerra contra Estados Unidos, particularmente en la Batalla de Cerro Gordo, como jefe de ingenieros, aconsejó a Santa Anna en contra de presentar batalla al invasor en dicha posición, sin éxito. Fue ministro de Guerra y de Marina durante la presidencia de Mariano Arista, cargo que mantiene durante los gobiernos siguientes al ser nombrado Ministro de Relaciones Exteriores por Ignacio Comonfort y más tarde como Embajador en los Estados Unidos.