Навстречу римлянам, узнав об их приготовлениях, карфагеняне отправили свой еще более многочисленный флот, состоявший из 350 кораблей, которые вначале встали на якорь у Лилибея, а затем направились к Гераклее Минойской (Polyb. I, 25, 7–9). Во главе пунийского флота стояли Гамилькар и Ганнон, уже сражавшиеся с римлянами ранее – первый в морской битве при Тиндариде, второй – в сухопутном сражении за Акрагант. Оба флота несли на борту многочисленное войско, о количестве которого сообщает Полибий: «Всего войска в римском флоте было около ста сорока тысяч, причем на каждом корабле помещалось по триста гребцов и по сто двадцати солдат» (Polyb. I, 26, 7). Исходя из своих подсчетов, античный историк полагал, что столь многочисленный карфагенский флот нес на борту более 150 тыс. воинов (Polyb. I, 25, 9), с чем в целом соглашаются и современные исследователи. При этом задачей римлян было не столько сражение на море, сколько десантирование на североафриканское побережье, тогда как пунийцы делали ставку на морскую баталию с целью не допустить высадки римских войск в Ливии.
Вражеские армады встретились у мыса Экном, завязав одно из крупнейших морских сражений в истории Древнего мира. При этом римляне, помимо известного уже «ворона», применили также целый ряд тактических новшеств. Прежде всего, весь римский флот был разделен на четыре эскадры – по количеству легионов. Таким образом, первый легион стал первым флотом, второй легион – вторым флотом, и далее в том же порядке. При этом четвертый флот имел еще и «третье название; солдаты его назывались триариями, как называют обыкновенно в сухопутном войске» (Polyb. I, 26, 5–6). Это наименование отражало суть четвертого флота, который должен был составлять резерв и вступить в бой в переломный момент сражения. В целом как терминология, так и стремление сохранить во флоте разделение войска на четыре консульских легиона свидетельствуют об инерции мышления римских флотоводцев, которые мыслили морское сражение как подобие сухопутного и пытались действовать в соответствии с привычными им законами последнего. Как ни странно, это сыграет в том числе и позитивную для римлян роль в предстоящем сражении, доказав, что при творческом подходе сухопутная тактика может помогать выигрывать и морские сражения, подобно тому, как при Милах легионеры доказали, насколько эффективно могут действовать пехотинцы, посаженные на корабли и ставшие морпехами.
Второй новацией римских флотоводцев стало призванное обезопасить флот от возможных охватов с флангов или окружения оригинальное боевое построение в виде треугольника. Своей вершиной, на которой находились две консульских сексиремы, этот гигантский клин был обращен к неприятелю. От каждого из этих двух флагманских кораблей расходились боковые стороны равнобедренного треугольника, образованные кораблями первого и второго флотов, которые были выстроены уступами так, чтобы за одним консулом следовал один легион, а за другим – второй. Основанием служил растянутый в одну фронтальную линию третий флот, тянувший за собой на буксире транспортные суда. Замыкал построение также растянувшийся в одну линию по фронту четвертый флот триариев, являвшийся последним резервом. Интервалы между кораблями триариев были большими, чем между судами третьего флота, вследствие чего его шеренга частично выступала за фланги предыдущей линии кораблей. По мнению Полибия, такой «вид строя представлял собой подобие клина, одна часть которого, у вершины, была полая, другая, у основания, сплошная; целое же приспособлено к сопротивлению и нападению, и в то же время разорвать строй было нелегко» (Polyb. I, 26, 16). Примененное римлянами построение действительно позволяло каждому из кораблей первого и второго флотов, расположенных на боковых сторонах клина, наносить таранный удар по находившемуся впереди врагу, не маневрируя и не нарушая построение, а лишь продвигаясь вперед вместе с остальными кораблями флота. Третий же и, в особенности, четвертый флоты можно было применить для стремительного наращивания сил на любом направлении, где это представлялось необходимым.