La batalla de San Gregorio se realizo en la provincia de Buenos Aires, el 22 de enero de 1853 y fue un enfrentamiento durante las guerras civiles argentinas, entre las fuerzas de la Confederación Argentina y el Estado de Buenos Aires, que se había separado de aquella por la revolución del 11 de septiembre del año anterior.
Los porteños organizaron dos ejércitos: uno se estableció en San Nicolás, al mando del General Paz, que pidió permiso para viajar al interior a tratar con los demás gobernadores. Ante la negativa santafesina y cordobesa, comenzó a organizar una invasión a Santa Fe, que nunca se llevaría a cabo.
El otro ejército invadió Entre Ríos en noviembre, dividido en dos cuerpos, uno al mando de Juan Madariaga y el otro de Manuel Hornos. Pero la doble invasión fue derrotada por los entrerrianos.
El gobernador Manuel Guillermo Pinto se entrevistó con Mitre y con el coronel Pedro Rosas y Belgrano, el cual le aseguró que contaba con simpatías suficientes en los cantones de frontera sur con los indígenas, como para enfrentar a Lagos desde la retaguardia.
El gobernador envió a Rosas y Belgrano con unos pocos acompañantes al puerto del Tuyú, partiendo de Buenos Aires el 8 de diciembre y prometió enviarle en unas pocas semanas un fuerte refuerzo, especialmente de infantería. Entre sus colaboradores se contaban los coroneles Matías Ramos Mejía, Martín Teodoro Campos, Agustín Acosta; a diferencia de Rosas y Belgrano, todos éstos habían participado en las luchas contra Rosas, entre los Libres del Sur o en la Coalición del Norte.
Apenas desembarcado, Rosas y Belgrano convocó a los caciques indígenas para que cumplieran sus compromisos de un año antes, en que habían prometido defender a Buenos Aires de un ataque exterior, la noticia de la expedición de Rosas y Belgrano levantó los ánimos de los porteños, mientras que los federales se dedicaron a tratar de detenerlo antes de que reuniera demasiadas fuerzas a sus espaldas.
El 11 de septiembre, pocos días después de la salida de Urquiza, los unitarios coparon la ciudad, sin que Costa se opusiera ni se uniera a ellos. En noviembre, el coronel Hilario Lagos, jefe del ejército de campaña, se levantó contra el gobierno unitario del llamado Estado de Buenos Aires, y puso sitio a la capital. Costa se unió a él, y mandó la infantería en la batalla de San Gregorio, cerca de Chascomús, con la que fue derrotado el intento más serio de enfrentar a los sitiadores. Urquiza ascendió al grado de general a Lagos y a Costa.
Rosas y Belgrano reunió varios grupos dispersos, y marchó hasta Dolores, donde logró reunir unos 3.500 hombres y algo más de 1.000 indios y regresó hasta la costa del río Salado, a esperar la prometida expedición naval con armas y municiones donde se instaló por consejo de Ramos Mejía cerca de la desembocadura de este río, en su orilla sur ya que no quería quedar con el río a sus espaldas, al no se un buen lugar para acampar, cruzaron el río y se instalaron en el "puesto de San Gregorio", que era apenas un monte de talas y un rancho, pero mejor que la ubicación anterior.
Los refuerzos y armas prometidos por Buenos Aires nunca llegaron ya que de los cuatro barcos enviados con refuerzos y armamento tres fueron capturados por la escuadra de la Confederación Argentina y el cuarto encalló, se enviaron algunos "chasquis" para avisar lo ocurrido a Rosas y Belgrano, pero éstos nunca llegaron a destino.
El jefe de la vanguardia del ejército de Lagos, Juan Francisco Olmos, reunió algunos hombres y se estacionó en la Laguna de Lastra — actual estación Monasterio, donde fue repentinamente atacado por las fuerzas de Ramos Mejía, que — aunque con fuerzas inferiores en número — logró causarle 15 muertos y 8 prisioneros. Olmos se retiró en dirección a Chascomús, donde se unió al ejército enviado por Lagos, que iba al mando del coronel Jerónimo Costa. En éste formaban varios oficiales destacados, como Francisco Clavero, Cesáreo Domínguez, Eugenio del Busto y Cayetano Laprida.
Pedro Rosas y Belgrano estaba en Buenos Aires a fines de noviembre de ese año de 1852 cuando estalló la rebelión de Lagos, que pronto dominó gran parte del interior de la provincia y puso sitio a la ciudad de Buenos Aires. En la capital se supo que había grupos en el sur de la provincia que aún seguían obedeciendo al gobierno porteño, pero no tenían cohesión ni podían establecer contacto con la capital, debido a eso el gobernador Manuel Pinto envió a Rosas con unos pocos acompañantes al puerto del Tuyú, apenas desembarcado, convocó a los indígenas para que cumplieran sus compromisos de un año antes, forzando bastante el sentido que debía habérsele dado. La noticia de la expedición de Rosas y Belgrano levantó los ánimos de los porteños, mientras que los federales se dedicaron a tratar de detenerlo antes de que reuniera demasiada gente a sus espaldas .
Rosas reunió los grupos dispersos y marchó hasta Dolores, donde logró reunir unos 4500 hombres, entre ellos algo más de 1000 aborígenes pero pronto regresó hasta la costa del río Salado, a esperar una prometida expedición naval con armas y municiones, por lo que se instaló cerca de la desembocadura de este río. Pero los refuerzos y armas no llegaron nunca pues los barcos en que debían ser transportados encallaron y naufragaron y nadie le aviso lo sucedido.
Al llegar frente al ejército enemigo, Costa puso a sus tropas al mando del general Gregorio Paz, jefe de su estado mayor. Por su parte, Rosas y Belgrano delegaba el mando de las suyas en el coronel Faustino Velazco, recién incorporado al ejército porteño.
Las tropas de ambos ejércitos formaron en la ubicación tradicional, con sus alas de caballería y su centro de infantería y artillería. Sin embargo, antes de terminar de ubicarse, los indígenas del ejército de Rosas y Belgrano conferenciaron con los indios que venían en el ejército federal; y, de común acuerdo, todos abandonaron el campo de batalla.
Con ese cambio, la situación quedaba ampliamente a favor del ejército de la Confederación: casi exactamente 3 federales por cada unitario. Además, contaban con mucho mejor armamento, mejores mandos intermedios y más experiencia en las tropas. La única ventaja del ejército unitario eran sus mejores y más numerosos caballos.
Paz, que no estaba seguro del número de sus enemigos, inició el ataque con una carga de caballería muy cautelosa. Tanto, que fue fácilmente rechazada por las exiguas infantería y artillería porteñas. Pero cuando el teniente coronel Nicanor Otamendi pretendió contraatacar, sus hombres se negaron a obedecer y lo tomaron prisionero. Pasaron entonces dos horas de expectativa, con los dos ejércitos intentando mejorar sus posiciones, pero cerca de las 11 horas, un tercio de la caballería unitaria desertó, huyendo por las orillas del río Salado.
Viendo la situación, Paz ordenó un ataque general de su caballería, que se llevó por delante al ejército enemigo en minutos. Muchos de los soldados intentaron salvarse lanzándose al río, pero las barrancas de la costa les impidieron terminar el cruce y murieron ahogados; entre ellos estaba el coronel Acosta. Otros, como el coronel Velazco, quedaron encerrados contra las altas barrancas y fueron muertos. Los que fueron alcanzados antes por los oficiales que por los soldados, como Rosas y Belgrano, salvaron su vida y fueron tomados prisioneros. Entre ellos se contaron, también, Ramos Mejía y Otamendi. Sólo muy pocos pudieron escapar, entre ellos el coronel Campos y el joven José Hernández, futuro autor del Martín Fierro.
Al mediodía, la batalla había terminado. Las bajas de ambos bandos por muerte fueron poco numerosas, pero más de la mitad de los efectivos del ejército porteño fueron tomados prisioneros.