W maju 1656 roku Czarniecki wraz ze swoją armią kontynuował rajd po Wielkopolsce, uciekając po przegranej bitwie pod Kłeckiem przed armią szwedzką skierował się do Prus Królewskich. Zaniepokoiło to Karola X Gustawa, który w tym czasie oblegał Gdańsk. 30 maja podjazd szwedzki ustalił, że kasztelan kijowski obozuje pod Kcynią i przekroczył już Noteć, czując się za tą przegrodą bezpiecznie. Nie docenił on determinacji Karola X Gustawa, który porzucił oblężenie Gdańska, i Wrangla, który dowodził częścią wojsk. 1 czerwca armia szwedzka wymaszerowała ze zdobytej 26 maja Bydgoszczy. Około południa pierwsze oddziały dotarły do Noteci, przez którą przeprawa zajęła ok. 3 godz. W tyle pozostały tabory, by nie opóźniać marszu. Podjazd, który zlokalizował siły Czarnieckiego dostarczył również informację, że sam regimentarz obozuje nieco dalej, oddzielony kilkunastoma kilometrami lasu. Wrangel ruszył pierwszy i udało mu się zaskoczyć chorągwie strażnika wojskowego Mariusza Jaskólskiego i oboźnego wojskowego Szymona Kaweckiego. Zdołali oni jednak zaalarmować Czarnieckiego, który uszykował tymczasem pułki na jednym z dwóch wzniesień pomiędzy wsiami Żurawia i Palmierowo. Wrangel podszedł pod to wzniesienie nie atakując go. Oczekiwał na przybycie króla wraz z pozostałymi siłami. Po przybyciu tych oddziałów Szwedzi przystąpili do działania. Ich plan zakładał otoczenie wzgórza dwoma skrzydłami. Miało to zapobiec ucieczce Polaków, a gdy nadciągną działa i piechota miano przystąpić do ataku. Jednak w czasie wykonywania manewrów Czarniecki udaremnił ten plan przegrupowując swoje oddziały i zajmując pozycję nieco dalej, na drugim wzniesieniu. Wrangler widząc, że pułki polskie mogą się wymknąć, zaatakował lewym skrzydłem, a mając znaczną przewagę, zmusił Polaków do ucieczki. Pozostałe oddziały polskie, które zaalarmowane nadciągnęły na miejsce starcia, nie miały wyjścia i poszły w ślady pozostałych. Szwedzi rzucili się w pogoń, w wyniku której w ich ręce dostało się wielu oficerów, między innymi Działyński, wysłannik Jana Kazimierza. Zagrożony pojmaniem był również sam Czarniecki. Straty polskie oceniane są na 300 zabitych i rannych.
Przegrana pod Kcynią odwiodła Czarnieckiego od wyprawy na pomorze. Ruszył on pod Warszawę, skąd Jan Kazimierz słał ponaglające wezwania i gdzie koncentrowała się armia Rzeczpospolitej. Bitwa ta nie przekreśliła jednak dokonań armii polskiej w Wielkopolsce, gdzie uwolniono z potopu szwedzkiego większość terytorium tej ziemi oraz wiele miast i miejscowości.