Получив известие о выходе тяжело груженного зерном и потому неповоротливого пунийского флота из Карфагена, Гай Лутаций Катул решил принять бой, не дожидаясь, пока карфагеняне дойдут до Эрикса, разгрузят корабли и укомплектуют команды профессиональными воинами. Консул повел римский флот к Эгадским островам, рассчитывая перехватить флот противника, и расположился у острова Эгуса (современный остров Фавиньяна), напротив Лилибея. Карфагенский флот во главе с Ганноном тем временем направлялся к острову Гиере (современный остров Мареттимо). Пунийский флотоводец выжидал попутного ветра, чтобы на всех парусах прорваться мимо римлян. 10 марта 242 г. до н. э. такой шанс, казалось, представился – на море поднялся благоприятный для карфагенян ветер, встречный для изготовившегося римского флота. Разыгравшееся на море волнение делало морскую битву рискованным предприятием, и, возможно, Ганнон рассчитывал на то, что римский консул предпочтет отвести корабли в безопасное место, пропустив тем самым карфагенский флот к Сицилии. Однако и Гай Лутаций Катул понимал, чем может обернуться для него промедление: «…если решится на бой, невзирая на бурю, то будет иметь дело с Ганноном, только с его войсками и с флотом, нагруженным хлебом. Если, напротив, он будет выжидать погоды и медлительностью своею допустит, чтобы неприятель переправился и соединился с сухопутным войском, то будет сражаться против кораблей быстрых, не имеющих на себе груза, против отборнейшей части сухопутных войск и, что самое главное, против отважного Гамилькара: более грозной опасности тогда не было ничего» (Polyb. I, 60, 7–8). Взвесив все за и против, консул решил дать бой.
Решение римского флотоводца оказалось безупречным – карфагеняне оказались неспособны дать хоть сколько-нибудь организованный отпор и были наголову разбиты. Устремив свои маневренные корабли с хорошо обученными командами на борту на неповоротливые пунийские суда, римляне первым же натиском разрушили их строй и приступили к уничтожению противника. «Римский флот, удобный, легкий, надежный и в некотором роде походный, вступил как будто в конное сражение: веслами действовали словно поводьями, и на любые удары подвижные ростры отзывались как живые. В самое короткое время разбитые вражеские суда покрыли своими обломками все море между Сицилией и Сардинией» (Flor. I, XVIII, 2, 35–36). Карфагеняне, по данным Полибия, потеряли 50 кораблей потопленными и 70 захваченными вместе с корабельными командами в плен. Число пленных пунийцев составило чуть менее 10 тыс. человек (Polyb. I, 61, 6–8). Большего доверия, впрочем, заслуживают цифры, приведенные Диодором Сицилийским – по его данным, карфагеняне лишились 117 кораблей, 20 из которых были захвачены вместе с командами. В плен попали от 4040 до 6 тыс. пунийцев. У римлян было выведено из строя 80 судов, причем 30 из них потоплены, а остальные 50 получили повреждения разной степени тяжести (Diod. XXIV, 11, 1–2). Значительной части пунийских кораблей во главе с Ганноном удалось спастись бегством – ветер переменился и позволил им отойти к острову Гиере, а затем проследовать в Карфаген. Римляне беглецов не преследовали, озабоченные судьбой уже захваченных кораблей и пленных. В пунийской столице Ганнон был за поражение приговорен к казни через распятие на кресте.
Поражение в морской битве при Эгадских островах окончательно лишило Карфаген сил для продолжения войны – у пунийцев не было средств ни на новый флот, ни на новое сухопутное войско. По словам Полибия, карфагеняне «не могли уже доставлять продовольствие своему войску в Сицилии, а отказавшись от надежд на то войско и как бы даже отдав его неприятелю, карфагеняне не знали, откуда добыть для войны солдат и вождей» (Polyb. I, 62, 2). Следовало просить мира. «Победа была такова, – пишет Луций Анней Флор, – что не возникло необходимости в разрушении вражеских стен (Лилибея и Дрепана. –