Hijo del doctor Gregorio Mercado Rojas y de Lastenia Silva. En 1901 ingresó a la Escuela Naval, de donde egresó como guardiamarina en 1905. Pasó a servir en el vapor Constitución y luego fue enviado para entrenarse en la escuadra estadounidense.
De regreso al Perú, pasó a servir a bordo del Almirante Grau y luego del Coronel Bolognesi. A fines de 1910 fue enviado a Loreto como segundo comandante de la cañonera América, integrante de la flota fluvial de la región amazónica.
Participó en el combate de La Pedrera, en el río Caquetá, librado de 10 a 12 de julio de 1911, que fue un triunfo peruano sobre los colombianos que habían invadido dicho puesto. Tras un breve retorno a Iquitos, regresó al Caquetá al mando de la lancha Elisa, patrullando la zona hasta octubre de dicho año.
Ya como teniente primero, en 1912 viajó a Francia integrando la dotación del crucero acorazado Comandante Aguirre.
En 1913 regresó a la Amazonía como comandante de la lancha Iquitos, siendo nombrado después segundo comandante del destructor Teniente Rodríguez.
En 1917 fue nombrado comandante del vapor Chalaco. Entre 1920 y 1925 fue capitán de puerto de Paita, Pacasmayo y Talara. Luego integró la comisión que a bordo de los vapores Ucayali y Rímac viajó al sur para vigilar el anunciado plebiscito de Tacna y Arica, que no llegó a realizarse (1925). En 1927 pasó a ser comandante del Teniente Rodríguez.
En 1930 fue jefe de la Casa Militar, hasta la instalación de la Junta de Gobierno de ese mismo año. Luego fue comandante de la Base Naval de San Lorenzo (1931) y capitán de puerto del Callao (1932).
Participó en la guerra con Colombia, teniendo bajo su mando a la Fuerza Naval Avanzada del Atlántico (1932-1933).
Durante el segundo gobierno del general Óscar R. Benavides fue ministro de Marina y Aviación (1935-1937).
Pasó al retiro en 1949 con el rango de contralmirante.