Po odejściu spod Jarosławia wojska szwedzkie Karola Gustawa wciąż cofały się przez kraj spustoszony wojną, głodem i atakami partii polskich. Król szwedzki nacierał ku południowi, ale coraz wyraźniej tracił inicjatywę. Szwedów ścigali Czarniecki, Lubomirski, Witowski i rosnące z każdym dniem oddziały konfederackie oraz chłopskie. Wojsko Karola słabło, brakło mu żywności, rosły choroby i dezercje. W tej sytuacji 20 marca poddał się Malbork, a spod północy ku królowi ruszył też margrabia badeński z nową armią. Dopiero ta wiadomość zmieniła układ sił: Czarniecki miał odtąd ruszyć przeciw margrabiemu, a Sapieha dalej pilnować Karola Gustawa.
Czarniecki wyruszył z częścią wojska szybko i skrycie. Zostawił ogniska, by Szwedzi myśleli, że obóz trwa na miejscu, a sam poprowadził chorągwie, między innymi laudańską, Wąsowiczową, Wiśniowieckiego, Stapkowskiego, własną kasztelańską i Lubomirskiego. Po drodze jego ludzie niszczyli szwedzkie podjazdy. Pod Kozienicami natknęli się na osiem chorągwi pod Torneskildem i znieśli je w krótkim czasie. Potem czarniecczycy ruszyli ku Warce, gdzie spodziewano się margrabiego badeńskiego.
W tym samym czasie Wołodyjowski z podjazdem wysłanym na noc wykrył przy szwedzkim obozie od strony Rudyńskich i województwa kępy piechoty i jazdy oraz sprawdził, że przeciwnik jest czujny, ale nie spodziewa się całej armii Czarnieckiego. Kiedy oddział polski zaczepił szwedzką straż przy karczmie w lesie, zręcznie uderzył, wziął dwudziestu pięciu jeńców i bez większej straty wrócił do Magnuszewa. Jeńcy zeznali, że margrabia badeński ma wojsko złożone z doświadczonych żołnierzy, Niemców i Francuzów, a sam nie wie, iż Czarniecki jest tak blisko. Te informacje utwierdziły kasztelana w decyzji natychmiastowego ataku.
Rankiem ruszono spod Magnuszewa ku Warce. Gdy oba wojska stanęły naprzeciw siebie nad Pilicą, Szwedzi zajęli silną pozycję za rzeką i zaczęli bronić mostu. Czarniecki rozkazał Wąsowiczowi i dragonom Lubomirskiego uderzać właśnie na most, choć nie zamierzał sam przez niego przechodzić. Był to ruch pozorny, mający ściągnąć uwagę całej armii szwedzkiej na jeden punkt. Szwedzi skupili tam działa, piechotę i jazdę, podczas gdy Czarniecki szykował właściwe uderzenie.
Wówczas padła jego słynna komenda i rozpoczęła się przeprawa wpław. Najpierw Czarniecki sam z koniem rzucił się w Pilicę i krzyknął: „Komu Bóg! komu wiara! komu ojczyzna miła! za mną!”. Za nim ruszyły kolejne chorągwie, laudańska, wiśniowiecka, Witowskiego, Stapkowskiego i inne. Rzeka spieniła się od koni i ludzi, a ława jeźdźców wyglądała jak most z głów końskich i ludzkich. Zaskoczeni Szwedzi nie zdążyli przestawić szyków. Właśnie w bok ich pozycji wpadła przeprawiająca się jazda polska, a z drugiej strony Wąsowicz po zdobyciu mostu uderzył na ich tył.
Bitwa pod Warką przechyliła się od razu na stronę polską. Margrabia badeński próbował ratować sytuację, lecz jego armia wpadła w całkowity zamęt. Piechota, jazda i artyleria mieszały się ze sobą, jedni uciekali do lasu, inni nad brzeg rzeki, wielu ginęło na miejscu. Z czasem walka przerodziła się w rzeź. Część Szwedów została wycięta w lesie przez chłopów, a główne siły uciekały drogą warszawską. Margrabiemu nie pomogły już ani rezerwy, ani piechota francuska. Jego młodszy brat Adolf dwa razy próbował osłonić odwrót, lecz został pobity i wzięty do niewoli. Wieczorem zwycięstwo polskie było pełne, a armia szwedzka rozbita.
W tych samych dniach rozgrywały się też inne ważne sceny. Do obozu Karola Gustawa w okolicy Gorzyc przybyli posłowie Czarnieckiego: Jan Skrzetuski, Zagłoba i Wołodyjowski z pismem do króla szwedzkiego. Karol Gustaw rozpoznał od razu Wołodyjowskiego jako tego, który usiekł Kanneberga. Rozmowa była ostra: Zagłoba zachwalał Czarnieckiego, a król odpowiadał z gniewem i pychą. Mimo to wypuszczono Rocha Kowalskiego, który wcześniej w Rudniku gonił samego króla szwedzkiego. Karol jednak zagroził Polakom mieczem i szubienicą, co tylko umocniło w nich przekonanie, że trzeba go dalej ścigać bez litości.
Po bitwie pod Warką Czarniecki i jego ludzie ruszyli dalej za uciekającym przeciwnikiem. W kolejnych dniach i tygodniach Szwedzi byli ścigani, głodzeni i rozbijani na wszystkich drogach, a ich pozycja coraz bardziej się załamywała. Ostatecznie, po połączeniu wojsk Czarnieckiego i Sapiehy, rozpoczął się nowy etap wojny przeciw Karolowi Gustawowi, już nie jako ucieczka jednego wodza, ale jako wspólne polskie natarcie na główne siły szwedzkie.