The battle was won by the Polish army under the command of Piotr Dunin. His force consisted of around 1000 cavalry, including 112 heavy cavalry, and a similar number of infantry, from which around 1000 cavalry and 400 infantry were mercenaries hired by Polish king, Casimir IV Jagiello; the rest were units from Danzig. Most of the Teutonic army, under the command of Fritz Raveneck, were soldiers from nearby castles, plus small auxiliary forces sent by duke Eric II of Pomerania. This totalled 1000 cavalry and 400 infantry. Raveneck also had tabor, cannons and up to 1300 peasants.
The battle started in the morning. Polish units build a fortified camp consisting, as usual in central European battles, of wagons linked by a chain surrounded by a deep ditch (tabor). Also, units of Raveneck and his subordinate, Kaspar Nostyc (commander from Konitz or Chojnice) created tabor. Piotr Dunin decided not to wait for the enemy and attacked first, setting infantry with crossbows at left, defended by cavalry between the tabor and the coast of the nearby lake of Rogoznica. Raveneck placed cavalry in front of his tabor, and infantry behind it, without any strategic plan. The first phase of the battle was started by a charge of Polish heavy cavalry under Pawel Jasienski. Fierce fighting continued for three hours and ended without a clear winner. After a short pause at midday, Teuton units were able to push the Poles back; however, they found themselves under very heavy fire from crossbows of the Polish infantry, which caused huge losses and withdrawal. During this fight Raveneck was wounded. Raveneck stopped his soldiers and tried to attack again, but this charge ended with total defeat--Raveneck died and the rest of the cavalry surrendered or escaped. The Teuton infantry tried to defend at tabor, but its resistance was broken by a sudden attack of Polish cavalry.
The Teuton army lost around 1000 soldiers, including some 300 cavalryman. Fifty soldiers were captured. The Poles lost just 100 soldiers, but 150 later died from wounds. Among the dead on the Polish side was Maciej Hagen from Danzig. Piotr Dunin was twice wounded.