Era un adolescente aún cuando su padre —el paraguayo Juan Andrés Gelly— debió exilarse en Montevideo llevando consigo a su hijo, debido al apoyo que había prestado a la dictadura del general Juan Lavalle y su posición contraria a Juan Manuel de Rosas. Allí se sumó a la defensa contra el sitio que sufrió esa ciudad durante ocho años, llegando al grado de coronel, jefe de un regimiento de exiliados argentinos. Durante algún tiempo estuvo exiliado en el Brasil, donde administró una estancia. Durante su estadía en Montevideo entabló estrecha amistad con Bartolomé Mitre pero, a diferencia de éste, sólo regresó a Buenos Aires en 1855.
En Buenos Aires se incorporó al ejército con el grado de coronel, fue diputado provincial, comandante del Puerto de Buenos Aires, comandante de la Armada del Estado de Buenos Aires y ministro interino de Guerra y Marina durante las campañas de Cepeda y Pavón.
A fines de 1861 fue uno de los diplomáticos enviados por Mitre para convencer a Justo José de Urquiza de no impedir el derrocamiento del presidente Santiago Derqui. Fue senador provincial en 1862, y ascendido al grado de general.
Durante la presidencia de Mitre fue Ministro de Guerra, ejerciendo ese cargo hasta fines de 1867, es decir durante la primera mitad de la Guerra del Paraguay; fue nombrado jefe del estado mayor del Ejército Argentino en campaña en el Paraguay, razón por la cual renunció a su cargo de ministro. Participó en la batalla de Tuyú Cué.
El presidente Sarmiento lo nombró comandante del ejército argentino en el Paraguay, participando en la Campaña de Pikysyry, aunque renunció por un fuerte altercado con el presidente poco antes del saqueo de Asunción.
Fue el jefe de las fuerzas nacionales en Corrientes, donde combatió al general Nicanor Cáceres, que intentaba defender al gobernador constitucional de una revolución apoyada por el presidente Mitre.
Permaneció en la provincia de Corrientes, como jefe de la reserva del ejército en campaña, hasta el estallido de la revolución de Ricardo López Jordán, dirigiendo una de las columnas principales en la guerra contra éste. Controló parte del norte de Entre Ríos hasta la batalla de Don Cristóbal, en la que fue derrotado por López Jordán, aunque éste debió retirarse al finalizar el día ante la aproximación de más fuerzas nacionales. No pudo impedir la marcha del jefe rebelde hacia Corrientes, donde sería decisivamente derrotado.
Debido a su ascendencia paraguaya, fue propuesto como candidato a ocupar la presidencia de ese país.
Fue diputado nacional entre 1872 y 1874, por el partido de Mitre, cargo al que renunció a fines de 1874 para poder participar en la revolución de Mitre del año 1874; también pidió la baja en el Ejército. Su participación en la revolución fue secundaria, aunque fue el jefe del estado mayor del ejército mitrista derrotado en La Verde.
Fue reincorporado al Ejército en 1867, por decreto del presidente Nicolás Avellaneda, pero volvió a ser dado de baja por su participación en la revolución de 1880. Sólo sería reincorporado a fines de la presidencia de Julio Argentino Roca.
Acompañando a Mitre, fue parte del grupo fundador de la Unión Cívica, adhiriendo a la Revolución del Parque en 1890.
Durante la presidencia de José Evaristo Uriburu (1895-1898) presidió el recién creado Consejo Supremo de Guerra y Marina, que juzgaba la conducta de los oficiales del Ejército y la Armada Argentinas.
Apoyó la gestión del general Pablo Ricchieri para la reforma militar de 1901, que creó el moderno Ejército Argentino fundado en el servicio militar obligatorio.
Su fallecimiento, el 18 de septiembre de 1904, fue un acontecimiento público nacional. Sus restos fueron depositados en el Cementerio de la Recoleta, y su tumba fue declarada Monumento Histórico.
Una localidad de la provincia de Santa Fe y una calle de la ciudad del barrio de Recoleta de la ciudad de Buenos Aires llevan su nombre.