Jazda polska wycofała się i umożliwiła ostrzał jazdy krzyżackiej przez ukrytych w lesie i trzcinach kuszników. Jej pogrom umożliwił Duninowi atak na słabo jeszcze umocniony obóz krzyżacki. Bitwa była zacięta, lecz po śmierci dowódcy Rawenecka, wojska krzyżackie załamały się – część się od razu poddała (około 70 ludzi), a reszta rzuciła do ucieczki.

Ponieważ wszystkie drogi wcześniej zostały zablokowane, a konnica krzyżacka prawie całkowicie zniszczona, pogrom uciekających był przesądzony. Przyjmuje się, że zginęło ponad 75% wojsk krzyżackich.

Pod koniec bitwy pojawiły się posiłki Eryka II, jednak widząc porażkę Krzyżaków, słupski książę nie zaatakował, natomiast zaatakowali Polacy, zmuszając jego wojska do ucieczki.

Po bitwie Bitwa ta uważana jest przez historyków za punkt zwrotny w działaniach wojny trzynastoletniej, ponieważ wkrótce po niej wojska polskie rozpoczęły ofensywę, spychając Krzyżaków do obrony. Bitwa wykazała zdolności polskiego dowódcy i pozbawiła nieprzyjaciela wojsk na lewym brzegu Wisły.