Cuando replegaron las tropas de Puente Alsina al llegar a los Corrales de Miserere encontraron a las fuerzas de Lagos que combatían desde temprano. Las tropas de Manuel J. Campos se aproximaron a puente Alsina cuando Arias se había retirado ya y entonces se dirigieron a Corrales, en cuya lucha intervinieron.
Las fuerzas nacionales estaban concentradas en el antiguo matadero de la ciudad, con sus galpones y corrales, unido por la calle Rioja con la plaza Miserere, donde se encontraba el comando militar porteño. Los corrales estaban ubicados en una posición algunos metros más alta que el resto de la zona, lo que permitía controlar los accesos. El general nacional Levalle, que había luchado en Barracas, se lanzó al ataque contra esas posiciones al saber que las tropas de Eduardo Racedo había ocupado Puente Alsina y que las fuerzas porteñas de José Inocencio Arias se replegaban a la ciudad. Al frente de las fuerzas bonaerenses en los Corrales se encontraba el coronel Hilario Lagos (hijo), y fue reforzado con cadetes de la Escuela Naval, cuatro batallones de infantería y las tropas de caballería que Arias había enviado desde Puente Alsina.
Al acercarse las tropas nacionales, la artillería y fusilería de Lagos barrieron desde la altura a las fuerzas atacantes, que cargaron en tres oportunidades pero fueron rechazadas con importantes pérdidas. En la esquina de Rioja y Caseros, donde se encontraba el edificio de la Comisaría de los Corrales, se produjeron los choques más violentos.
Sólo después de incorporar a sus fuerzas la artillería nacional, Lavalle obligó a Lagos a replegar su propia artillería, con lo que los defensores comenzaron a sufrir gran cantidad de bajas. Lagos afirmó más tarde que había logrado sostener sus posiciones, lo cual es parcialmente cierto: no había sido obligado a abandonarlas, pero se había replegado sobre los galpones y la comisaría de los Corrales. A las 14 horas, Lagos recibió la orden de replegarse hacia Plaza Miserere, operación que cumplió sin ser perseguido sino de lejos.
Las fuerzas porteñas quedaron centradas en los límites de la ciudad propiamente dicha, es decir del área densamente edificada. Si bien esas posiciones no volvieron a ser atacadas, la batalla no dejaba lugar a dudas de que los rebeldes estaban cediendo cada vez más posiciones: si había nuevos combates, éstos serían en el interior de la ciudad, con los consiguientes daños para la población civil. Por otro lado, ambos bandos habían sufrido enorme cantidad de bajas, especialmente los porteños.
Los tropas nacionales intentaron ocupar la altura a pesar del fuego contrario, pero los cañones manejados por cadetes de la escuela naval hicieron proezas, mientras la infantería disparaba desde cuerpo a tierra. Por fin la artillería del ejército de línea acabó por acallar los cañones provinciales, que perdieron a casi todos sus servidores; sin embargo, los tres asaltos que llevaron fueron rechazados y comenzaron a retirarse hacia San José de Flores, perseguidos un trecho por las fuerzas de Lagos. En esos momentos, a las dos pasado meridiano, llegó la orden del ministro Gainza para que las milicias se retirasen a las trincheras de la plaza. De ese modo entraron en la ciudad unos 4.000 hombres; el resto se había dispersado o caído prisionero. Racedo dijo en su parte que había tomado 1.365 prisioneros, una ametralladora, 250 fusiles, 3.500 caballos y cuatro piezas de artillería; sus bajas habrían sido 300 entre muertos y heridos.
Al día siguiente, con buen criterio, los nacionales no intentaron volver a atacar a las posiciones porteñas, aunque el coronel Francisco Bosch logró cruzar una línea de tiradores con un tren durante la madrugada, y enseguida ocupar la Estación Constitución.
Batalla de los Corrales Viejos fue el últimos combates entre la provicnia de Buenos Aires y el estado nacional ocurrido en la ciudad de Buenos Aires el 22 de junio de 1880 , en este caso la victoria de las fuerzas nacionales obligó a los rebeldes de la provincia de Buenos Aires a aceptar las imposiciones del gobierno nacional.