La primera contienda en que participó fue en la Guerra de Reforma, siempre en el lado liberal, combatiendo a las fuerzas conservadoras y participando en numerosas acciones de guerra, entre las que figuran las denominadas como Cruz Blanca, El Jacal o Tlacolula, y en el Sitio del puerto de Veracruz en 1860.
Posteriormente participó en las fuerzas que combatieron a Tomás Mejía en la Sierra Gorda, conflicto en el curso del que alcanzó los grados de teniente en 1859, capitán en 1862 y teniente coronel en 1864.
Tras el fin de la intervención francesa fue confirmado en el grado de coronel y se dedicó a combatir las frecuentes sublevaciones militares que tuvieron lugar durante esos años contra el gobierno de Benito Juárez y bajo las órdenes de Sóstenes Rocha combatió en San Luis Potosí, Tamaulipas y Zacatecas, estado donde se había sublevado su gobernador, Trinidad García de la Cadena.
En premio a dichos servicios fue ascendido a general de brigada en 1871, ya con este cargo pasó a combatir a Manuel Lozada en la sierra del hoy estado de Nayarit, hasta la derrota y fusilamiento de este caudillo; siendo entonces enviado a los estados de Coahuila y Nuevo León como jefe de la III División del ejército.
Este desastre hizo que Porfirio Díaz llorara abiertamente frente a sus hombres, y le ganó desde entonces el apodo de «El llorón de Icamole».