Между тем Ганнибал, истребив запасы Геруниума и окрестностей, двинулся к Каннам, где римляне собрали значительные запасы, и взял замок приступом. Проконсулы Сервилий и Регул не приняли никаких мер, чтобы предупредить это событие, а только послали просить указаний: что им делать – атаковать ли армию Ганнибала, или уходить, так как без запасов они не могут стоять у Геруниума. Сенат решил вступить с Ганнибалом в сражение, как только прибудут к армии Варрон и Павел Эмилий, причем народ и сенат справедливо возлагали надежды на Павла Эмилия.
Армия Ганнибала стояла лагерем на левом берегу р. Ауфида близ развалин г. Канн. По прибытии консулов Варрон в день своего командования выдвинул римскую армию вперед и расположил ее в 6 верстах от армии Ганнибала, на том же берегу Ауфида. Павел Эмилий не сочувствовал этой мере и предпочитал осторожный способ действий, но отступить было неудобно, так как Варрон в день постройки нового лагеря имел очень удачное столкновение с Ганнибалом, выведшим ему навстречу мало войск.
Ввиду этого Павел Эмилий отделил часть войск на противоположный берег Ауфида и построил там небольшой лагерь прикрытия транспортов. Решительный бой назревал. Полководцы обеих сторон речами старались поднять дух своих воинов и вселить в них уверенность в победе. Ганнибал выслал нумидийскую конницу мешать римлянам брать воду из Ауфида. Нумидийцы нападали даже на сторожей малого лагеря. Варрон и все римские войска были вне себя от такой дерзости и горели нетерпением вступить в бой. Поэтому на следующий день, будучи очередным главнокомандующим, не сказавши ничего Павлу Эмилию, Варрон вывел войска из лагеря, переправился на противоположный берег Ауфида, где он считал местность более удобною для развертывания римской армии, и, под прикрытием легкой пехоты, начал быстро строить боевой порядок: на правом крыле, примкнув к р. Ауфид, – 2400 конницы, потом римские, далее союзные легионы, построив манипулы по 10 чел. по фронту и 16 в глубину (вдвое против обыкновенного); на левом крыле – 4800 чел. конницы союзной и экстраординарных войск. В большом лагере оставлен и легион с пехотой экстраординарных войск для нападения во время боя на лагерь Ганнибала (11 тыс.). Варрон принял начальство над левым крылом, Павел Эмилий над правым, а проконсул Сервилий над центром.
Ганнибал, заметив движение римской армии из лагеря за р. Ауфид, послал туда балеарских пращников и всю легкую пехоту и под прикрытием их перевел туда же в двух колоннах свои войска и начал их строить в боевой порядок. Всю испанскую и галльскую конницу (8 тыс. чел.) под начальством Гаструбала он расположил на левом крыле в две линии: 2/3 ее – в первой и 1/3 – во второй линии; нумидийскую конницу (2 тыс. чел.) – враздробь частями, перед фронтом всего левого крыла римской армии, и, наконец, всю тяжелую пехоту (около 32 тыс. чел.) – африканскую, самую лучшую, поставил по флангам фалангой в 16 шеренг и по отделениям в 1 тыс. чел. каждое, вооружив ее