Hannibal ankom høydene utenfor Herdonia etter en rekke raske marsjer og fikk høre rapporter om at Fulvius forhandlet med landsbyen. Han satte raskt ut styrkene før Fulvius var klar over at han var ankommet. Etter at Fulvius kom opp mot ham, satte Hannibal inn sine numidere mot det romerske venstre mens hans tunge kavaleri angrep i ryggen og leirområdet. Denne manøveren ble kombinert med et bestemt frontalangrep av Hannibals infanteri. Etter at romerne innledningsvis klarte å stå imot angrepene, ble Romas linjer forvirret og demoralisert og forsøkte til slutt å flykte. Hæren til Fulvius ble omringet og beseiret. 11 tribuner, opp mot 17 000 mann var drept eller tatt til fange. Kommandanten Fulvius ble drept i slaget. Hannibal ødela etterpå Herdonia som straff for dens illojalitet.