El 15 de enero se inició la lucha en la segunda línea de defensa, en la batalla de Miraflores que comenzó cuando las fuerzas chilenas aún no se habían concentrado frente a la defensa peruana.
Campaña de Lima
Ahora el objetivo chileno era ocupar Lima. Al mando de Manuel Baquedano, el ejército chileno desembarcó en Pisco el 8 de noviembre de 1880. Luego Patricio Lynch avanzó por tierra hasta Lurín. Mientras tanto, otra división desembarcó en Chilca y Curayaco, y ocupa Lurín y Pachacamac.
Durante la campaña de Lima en 1880-1881 se libraron dos batallas: San Juan (13 de enero) y Miraflores (15 de enero).
Batalla de Miraflores
Tras la derrota peruana de Chorrillos se acordó en el Armisticio de San Juan una tregua para fijar condiciones que reestablecieran la paz, pero por causas no aclaradas se inició con la lucha.
El 15 de enero de 1881 se efectuó la Batalla de Miraflores. Las tropas fueron derrotadas y se dispersaron dejando más de tres mil muertos y la ciudad a disposición del enemigo. Esa misma noche Nicolás de Piérola partió a la sierra estableciendo su cuartel general en Ayacucho.
Gracias a gestiones de los almirantes Petit Thouars, Stirling y el comodoro Sobranoi (jefes, respectivamente, de la escuadra francesa, inglesa e italiana en el Callao), los chilenos no destruyeron la capital peruana. Ingresaron el 17 de enero de 1881 y su ocupación duraría hasta 1883.
Ocupación de Lima
No destruyeron Lima, pero sí cumplieron su cometido de humillar a la siempre aristocrática ciudad. Se llevaron libros, manuscritos y otros objetos de valor de la Biblioteca Nacional, la Universidad de San Marcos y la Escuela de Ingenieros; saquearon el Palacio de la Exposición (hoy Museo de Arte de Lima). Éstas y otras instituciones sirvieron de cuarteles para las tropas invasores. Lo que no encontraron los chilenos fue quién les firmase el tratado que buscaban.
Una asamblea de notables limeños designó presidente al prestigioso abogado civilista Francisco García Calderón, el 22 de febrero de 1881. Su gobierno se estableció en La Magdalena, entonces pueblo de las afueras de la ciudad (hoy Pueblo Libre). En una actitud que lo honra, García Calderón se negó a cualquier arreglo con los chilenos que involucrara la entrega de nuestro territorio. Por este motivo, lo arrestaron y enviaron a Chile.