Итак, наступил роковой день. Римскую армию при Каннах возглавил Марк Теренций Варрон. На рассвете он двинул армию через реку Ауфид на восточный берег. Он сосредоточил конницу на правом крыле, разместившись на реке, с расположенными вблизи легионами и всадниками союзников на левом крыле. В авангарде армии располагалась легковооруженная пехота. Развертывание войск было достаточно традиционным, но Варрон сократил ширину фронта легионов и уменьшил расстояние между манипулами. Это было возращением к теории сомкнутого строя, от маневренности, таким образом, отказались и вернулись к жесткости фаланг. Римская армия насчитывала около 80 000 пехотинцев и более 6000 всадников. Пока римляне завершали развертывание, Ганнибал построил свою армию. Его легкая пехота и балеарские пращники образовали заслон, за которым главные силы выстроились напротив расположения римлян. На левом фланге располагалась испанская и галльская конница, развернутая на реке, рядом находилась тяжелая пехота. Галлы были построены в форме дуги, выгнутой вперед навстречу римскому фронту с нумидийской конницей на правом фланге. Широко рассредоточенные 40 000 пехотинцев Ганнибала сохраняли тактическую подвижность для маневра и медленно отходили перед многочисленными римскими легионами, дуга выгнулась в обратном направлении и, когда римляне устремились вперед, они были окружены. Риск заключался в том, что центральная часть дуги могла быть прорвана, в этом случае битва была бы проиграна, но конница Ганнибала имела преимущество как в количестве (приблизительно 10 000 человек), так и в качестве, и можно было рассчитывать, что всадники нанесут поражение своим римским противникам и завершат окружение. Именно это и произошло. Когда римляне устремились вперед, карфагенская пехота охватила их фронт и атаковала на флангах. Римляне были зажаты и не могли обороняться, число убитых и раненых увеличивалось, наступательный порыв ослабел. Тем временем римская конница обратилась в бегство, и повернувшие назад нумидийцы атаковали римлян с тыла. Полностью окруженные и еще более плотно сжатые римляне были истреблены на месте. Согласно Полибию удалось спастись только 3500 римлянам, в то время как 10 000 были захвачены в плен, а 70 000 остались лежать убитыми на поле боя. Среди тех, кому удалось спастись, был Варрон, виновник катастрофы.