I den store bondehæren fantes mange menn hvis stridsverdi ble vurdert som tvilsom. For å hindre at disse flyktet snart lurene hadde blåst til kamp, skulle Tore Hund og hans menn holde seg bak bondehæren og stanse ethvert forsøk retrett.

Selv om kildegrunnlaget er spinkelt, vi tro at bondefylkingen hadde flere merker etter stormenn og landsdeler. Når det gjelder Olavs hær, hører vi om bare tre merker: kongens, Dag Ringssons og et merke for andre svenske frivillige. Ellers hadde begge hærer egne hærrop som skulle oppildne de stridende. Bøndenes hærrop lød: «Fram, fram bondemenn!», mens kongshærens lød: «Fram, fram, kristmenn, korsmenn, kongsmenn!»

Hærblåst

Midt dagen 29. juli 1030 var hærene endelig klare til strid. Lurene blåste «hærblåst», tegnet til angrep, og mennene barket sammen. Olavs menn hadde innledningsvis et lite overtak. De sto en bakkekam og kunne følgelig løpe ned bakken og rett inn i bondehæren. Også hærropene skapte forvirring. Ute fløyene sto bondesoldater som ikke hadde fulgt godt nok med. Da de hørte olavshærens rop, gjentok de dem og ble derfor angrepet av sine egne.

Bondehæren ut til å vike. Men midt i fylkingen rundt Kalv Arnesson holdt stormennene og deres huskarer personlige tjenere og livvakter stand. Den videre utviklingen i slaget er uklar. Snorre skriver: «Mye av dette hendte en gang, men noe før og noe etter.»

Olav den Hellige i bønn før slaget.