罗马方面:两位执政官共有七万名步兵、二千四百名罗马骑兵与四千名同盟骑兵(在会战里上阵的),并在两个军营留守二千六百名重装步兵与七千四百名轻装步兵(合计一万名步兵),所以罗马在战场上的总兵力达至八万六千四百人。
阵型部署:当时传统的阵形是步兵置中军,骑兵置两翼。罗马人依照此法摆阵,但选择加厚中军的纵深而不是加阔其战线阔度(这是因为其军队数量多于迦太基的,所以其战线可以与迦太基人的等长),并希望以此迅速击溃汉尼拔的中军。其第二队小队(principes)紧接着第一队小队(hastati),当罗马军队前进时可以确定其具有统一的战线。但就如波利比奥斯所述:“罗马的小队(Maniple)一个接一个,结果中间的走动空间少了……而每个小队的纵深皆比前线的为大。”[5]。然而面对发罗的阵形,汉尼拔没有可调配的空间或撤退的可能,因为其背后为河流,而罗马人的优势兵力却会逼使其军队会后撤至,最后其可能被切割并逐个击溃。坎尼这个战场不同于此前的战场,一目了然,没有可以伏兵之地,而发罗知道汉尼拔此前两仗均以诡计与花招取胜,所以其主动寻求发动战役,以防被算计。此外,发罗亦知道罗马步兵当初在特拉比亚会战里成功穿透了汉尼拔的中军,所以其打算再次制造此结果并且要更为从容地取得更大的战果。