Król Szwecji na wieść o zbierających się znacznych siłach polskich pod Wolborzem opuścił 11 września Warszawę i ruszył za Wittenbergiem. W rzeczywistości do Jana Kazimierza dołączyła jedynie część pospolitego ruszenia z Mazowsza i Małopolski. Ponieważ nastroje wśród szlachty były coraz bardziej nieprzychylne, czujący się niepewnie Jan Kazimierz zamierzał cofnąć się w kierunku Krakowa. Nie pozwoliło na to pospolite ruszenie, które zażądało stoczenia walki w pobliżu rodzinnych stron.
15 września 1655 do Żarnowa dotarły wojska koronne i pospolite ruszenie liczące około 11 000 ludzi pod dowództwem króla Jana Kazimierza. Na wieść o przebywaniu króla szwedzkiego Karola Gustawa na czele wojska w Opocznie, król polski postanowił przyjąć bitwę.
Bitwa Obok 3–4 tys. pospolitego ruszenia armia koronna miała 6900 jazdy regularnej, 900 dragonów i 6 lekkich dział. Karol Gustaw dysponował wyłącznie armią regularną w sile 4–5 tys. piechoty, 400 dragonów, 6000 jazdy i 40 dział (w tym wiele ciężkiego kalibru). Szwedzi nie dali się zaskoczyć niespodziewanym atakiem wojsk polskich. Karol Gustaw rzucił do przodu piechotę i artylerię i powoli zaczął wdzierać się na zajęte przez Polaków wzniesienie. Wojska koronne próbowały atakiem z góry zmusić Szwedów do odwrotu, jednak wobec ogromnej przewagi ogniowej nieprzyjaciela nie potrafiły tego dokonać.