Estudió en el Convictorio de San Carlos y pasó luego a la Escuela Naval Militar donde egresó como guardiamarina (1852).
Ya de vuelta en el Callao, fue ascendido a teniente segundo y destinado al vapor Ucayali (1856).
Visitó diversos puertos peruanos y extranjeros y recopiló información para su Derrotero de la costa del Perú, hasta que en 1862 volvió a la armada como comandante del bergantín Almirante Guise, siendo ascendido a teniente primero.
Por entonces se hacía urgente el rearme peruano ante la amenazadora presencia de la Escuadra Española del Pacífico en aguas sudamericanas.
En el puerto de Brest (Francia) se le unió el monitor Huáscar (construido también en Inglaterra), comandando por José María Salcedo con el que continuó el viaje en convoy.
Durante el trayecto hacía América se desató una enconada odiosidad entre García y García con su connacional José María Salcedo, que los llevó al extremo de llegar a embestirse en altamar y desatarse una confrontación particular entre ambas tripulaciones.
Junto con otros marinos peruanos, entre ellos Miguel Grau, fue sometido a consejo de guerra por insubordinación, pero resultó finalmente absuelto.
[4] Al estallar la Guerra con Chile en 1879 fue nombrado Jefe de la Segunda División Naval del Perú, conformada por la corbeta Unión, la cañonera Pilcomayo y el transporte Oroya.
Si bien no se logró el objetivo, fue este un viaje memorable, por la mentalidad superior y la pericia técnica de los marinos peruanos.
Al lado del Huáscar comandado por Grau, la Unión con García y García continuó recorriendo el litoral chileno, hasta que finalmente toda la flota chilena los acorraló en Punta Angamos, el 8 de octubre de 1879.
Luego luchó en la defensa de Lima, resultando herido, tras lo cual acompañó al dictador Piérola en su retirada hacia la sierra del Perú, actuando como su secretario general.
El gabinete ministerial estaba integrado por Andrés A. Cáceres, Pedro Alejandrino del Solar, Lizardo Montero y Manuel Galup, los cuales nunca llegaron a reunirse.
Cuando era trasladado hacia Lima falleció a bordo del barco Santa Rosa, frente al Callao (1888).
Sus ocho hijos fueron Aurelio, María, Héctor, Nicanor, Elena Rosa, Angélica, Lucila y Mercedes.