Las fuerzas chilenas dirigidas por el General Manuel Baquedano derrotaron a las tropas peruanas bajo el mando del Coronel Andrés Gamarra apostadas en el cerro Los Ángeles y sus alrededores.
Después de asegurarse en el poder, cambió los mandos militares por sus propios coroneles pierolistas, quienes eran civiles y no tenían mayor experiencia militar.
Asimismo, Hilarion Daza fue depuesto en Bolivia y nombrado en su lugar Narciso Campero[cita requerida].
Después de tomar conocimiento de la presencia chilena en Ilo, Piérola optó por no enviar a Leiva; en su lugar, envió al coronel Andrés Gamarra -afín político-, para tomar las fuerzas del Sur.
Gamarra decidió ocupar las alturas del cerro de Los Ángeles, para obtener así una mejor posición para la batalla puesto que no contaba con caballería ni artillería, además de tener escasas municiones.
El 21, el Coronel Chocano junto a los moqueguanos de su batallón pidieron no ser relevados y defender esta posición.
Suponiendo que había sido descubierto, Martínez suspendió el avance y mandó pedir instrucciones a Baquedano; quien le ordenó continuar según lo planeado.
Minutos después, la columna de Baquedano comenzó a bombardear con artillería ese flanco, aunque sin causar mayores daños.
El ataque de infantería lanzado por este cuerpo tampoco progresó, debido a la defensa peruana mejor posicionada.
La situación chilena mejoró en cierta medida con el emplazamiento de un cañón al mando del Teniente Eduardo Sanfuentes, que comenzó a disparar sobre los peruanos desde unos 600 metros.
[4][17] Unos días después de la batalla, el comandante en jefe del Ejército de Operaciones del Norte Erasmo Escala renunció a su puesto debido a diferencias irreconciliables con el Ministro Rafael Sotomayor.