Angrepet kom ved daggry. Det første var mislykket, idet danskene hadde fått varsko av vaktposten som befant seg ved Långbro. Etter flere strider brøt svenskene gjennom deres forsvarsverk da den danske hæren ble angrepet i sørflanken. Samtidig ankom den del av fotfolket som var under fremmarsj og inngrep i angrepet. Med dette ble den danske fronten oppløst og de flyktet. Under flykten satte det tunge rytteriet seg fast i sumpmarker. Sture førte 300 fanger med seg inn i Stockholm. 1600 bønder skal ha ligget igjen på slagmarken.