Ayant obtenu la supériorité navale, les Chiliens lancent une série de manœuvres militaires contre les Boliviens et les Péruviens dans le désert d’Atacama. Les batailles de Pisagua, Tacna, Tarapacá et Arica (prise du Morro de Arica) donnent définitivement la supériorité aux Chiliens en 1880. Les Boliviens se retirent de la guerre, et les Chiliens continuent la lutte avec le Pérou. En 1881, les troupes chiliennes, dirigées par le général Manuel Baquedano, entrent à Lima après les batailles de Chorrilos et de Miraflores, villes situées au sud. Lors de cette dernière bataille, la population elle-même, qui défend sans succès la ville. Lima, ville aristocratique, vit déconnectée du reste du Pérou et sous-estime la gravité du conflit, ce qui contribue à déstabiliser la classe politique et l'empêche de se préparer efficacement pour affronter les Chiliens au sud de la ville.