Mientras se llevaban a cabo las negociaciones, ambos bandos aprovecharon para prepararse para una nueva batalla.
El coronel Miguel Iglesias había sido capturado en Chorrillos por Baquedano, para luego ser liberado y transmitir a Piérola un armisticio pidiendo los buques del Callao y el desarme de los fuertes.
Los buenos oficios de los cónsules intentaban iniciar la paz, pero la tregua no tuvo éxito.
Las fuerzas chilenas se encontraban en despliegue y reconocimiento de posiciones según lo había indicado el general Manuel Baquedano.
Se implementaron diez reductos, un sistema de parapetos y trincheras que se extendían desde la costa en Miraflores hasta el río Surco separados por 900 metros entre sí, defendiendo una línea de 12 km.
Los reductos se organizaron en tres sectores: Andrés Avelino Cáceres en la derecha, Belisario Suárez al centro y Justo Pastor Dávila a la izquierda.
En el Reducto n.º 2, ubicado junto a la línea del ferrocarril entre Lima y Chorrillos, se encontraba el Batallón n.º 4 con 300 hombres al mando del abogado Ramón Ribeyro junto a los magistrados, diputados y abogados de Lima.
Cerca de las 14:30, encontrándose separados a 400 metros, se inició un fuerte tiroteo entre peruanos y chilenos.
Tanto chilenos como peruanos se acusaron mutuamente de haber roto la tregua e iniciado el ataque, el teniente francés E. de León agregado como observador neutral al Estado Mayor chileno da en sus Memorias la siguiente explicación: La batalla tomó por sorpresa a ambos bandos.
[15] La batalla se inicia en los reductos 1, 2 y 3; que forman parte del sector derecho defendido por el coronel Cáceres con 3800 soldados bajo su mando,[17] quien lanzó los batallones Guarnición de Marina y Jauja contra la brigada dirigida por el coronel Francisco Barceló.
La brigada de Barbosa realiza una larga caminata oblicua hasta llegar a Valverde y Monterrico Chico.
[14] Producida la derrota en los reductos de Miraflores, cuando ya caía la noche al promediar las 19:00 horas, los peruanos se hicieron fuertes en las casas del pueblo combatiendo al paso de la tropa chilena.
Era común observar, en las puertas de las casas, barricadas improvisadas con talegones como suele ser habitual.
El lugar estaba minado, lo que causó más bajas en las tropas chilenas.
Miraflores, al igual que Chorrillos, también fue incendiado y saqueado por la tropa chilena, así como fue bombardeado por la armada chilena para facilitar su ocupación y desalojar a los defensores parapetados en el pueblo.
Las naves peruanas del Callao fueron hundidas por los propios peruanos, por orden del gobernador Germán Astete, entre ellas la corbeta "Unión" y el monitor "Atahualpa", que habían venido a defender el puerto.
Los que defendían la ciudad junto a los peruanos lo hacían sin apoyo del Reino de Italia.
El historiador peruano Jorge Basadre indica que en la defensa de Miraflores participaron 2500 hombres del ejército de reserva y 3000 soldados del ejército activo, sumando 5500 defensores desde el Reducto 1 al 4.