El comandante Soto atacó por el flanco, pero ante las descargas de la artillería peruana de Marcavilca hizo detener a su tropa y mandó a cargar sobre las posiciones peruanas, perdiendo la vida en el intento; el comandante del regimiento "Melipilla" debió asumir el mando y junto al comandante del regimiento "Coquimbo", Marcial Pinto Agüero, consiguieron desalojar a los defensores peruanos.