Tras esto, se desarrolló una batalla de infantería en tres fases, en la cual los infantes romanos fueron destrozando cada una de las dos primeras líneas cartaginesas, hasta que se produjo el encuentro con la tercera línea, formada por los veteranos italianos de Aníbal.