Ustawionych pod lasem Szwedów zaatakowała jazda Lubomirskiego. Ogień muszkietów dwukrotnie powstrzymał polską szarżę, gdy w końcu nadciągnął Stefan Czarniecki z resztą wojska (3 pułki). W tym momencie Polacy uzyskali trzykrotną przewagę liczebną nad nieprzyjacielem, gdyż cała polska armia pod Warką liczyła około 8 tys. żołnierzy podzielonych na 10 pułków jazdy, w tym kilka pułków husarskich. Wodzowie polscy, decydując się na uderzenie przełamujące, mieli do dyspozycji tylko 6 tys. żołnierzy – reszta była w grupie Potockich lub rabowała szwedzkie taboryMirosław Nagielski, Warszawa 1656, s. 26..
Trzecie, decydujące uderzenie jazdy polskiej złamało opór Szwedów – husaria wsparta przez dragonię przełamała szyki zwartych szeregów rajtarii w ciągu zaledwie kilku minut. Uciekający rajtarzy szwedzcy wpadli do lasu na własną spieszoną dragonię, tratując własnych żołnierzy.
Rozbite oddziały szwedzkie próbowały bronić się jeszcze w lesie, ale okoliczni mieszkańcy podpalili trawy i krzewy. Dym zmusił Szwedów do wyjścia na otwarte pole. Bitwa po 2 godzinach dobiegła końca i zamieniła się w rzeź. Ci ze spieszonych dragonów, którzy przeżyli, zabici zostali później przez zgromadzonych wokół lasu chłopów.