Требовалось обеспечить деньгами и продовольствием 75 тысяч гребцов и моряков и 20-тысячную армию. Рим отозвал флот домой, оставив в Африке Марка Атилия Регула с 15 тысячами пеших воинов, 500 всадниками и 40 боевыми кораблями. Карфагеняне отозвали с Сицилии 5000 пеших воинов и 500 всадников, в надежде помешать римлянам продолжать опустошение своих земель. Римляне одержали победу над вновь прибывшими войсками и расположились лагерем в Тунисе, в нескольких милях к югу от Карфагена.
В это время в Карфаген прибыл опытный спартанский полководец Ксантипп с отрядом греческих наемников и взял на себя ответственность за оборону города. Ксантипп предложил изменить тактику и назначил на ключевые командные должности опытных офицеров. Весной 255 года до н. э. Ксантипп с армией, состоявшей из 12 тысяч пеших воинов, 4000 всадников и точно не установленного количества слонов, вышел на встречу с римлянами к реке Баградас. Римляне потерпели сокрушительное поражение. Почти 30 тысяч человек было убито, спастись удалось только 2000. Атилий Регул был взят в плен.[190]
В начале следующего года римляне отправили флот из 350 кораблей, чтобы спасти оставшихся в живых из армии, потерпевшей поражение от Ксантиппа. В пути они столкнулись с карфагенским флотом из 200 кораблей. Сражение на море закончилось очередным поражением карфагенян. Римляне благополучно достигли африканского побережья и погрузили на корабли оставшихся в живых воинов из побежденной армии Регула. Не прислушавшись к советам лоцманов держаться западнее Сицилии, чтобы не попасть в шторм, римский флот был застигнут сильной бурей. На плаву осталось всего 80 кораблей, остальные затонули. В тот день погибло около 100 тысяч человек.[191] В 253 и в 247 годах до н. э. во время штормов римляне потеряли почти 200 кораблей и примерно 80 тысяч человек. Рим отказался от планов вторжения в Африку. Карфаген, устранив угрозу вторжения, расширил свои владения в Африке.[192]
Переключив внимание на Сицилию, римляне в 254 году до н. э. высадили два легиона у одной из главных карфагенских крепостей — Панорма (Палермо). Они окружили город, прорвали оборону и безжалостно расправились с жителями. В 251 году до н. э. карфагенский командующий Гасдрубал предпринял попытку вернуть Панорм. Потерпев поражение, он бежал, но был отозван в Карфаген и распят. Быть карфагенским полководцем с самого начала было рискованным делом!
Падение Палермо в 254 году до н. э. заставило некоторые города перейти на сторону римлян. Карфагеняне отошли в свои крупные крепости Лилибей и Дрепан, который был их морской базой, в западной части острова. Четыре римских легиона осадили Лилибей. Командующий гарнизоном в Лилибее Гимилькон имел в своем распоряжении десятитысячное войско и, проведя серию набегов, в ходе которых римляне понесли тяжелые потери и лишились большей части осадных машин, заставил снять осаду. Римлянам так никогда и не удалось захватить Лилибей.
Расстроенные неудачей с Лилибеем, римляне предприняли попытку заманить в ловушку карфагенский флот в гавани Дрепана, к северу от Лилибея. Публий Клавдий Пульхер вышел в море с 120 кораблями. Поджидавшие противника карфагеняне заманили флот под командованием Публия Клавдия в ловушку. Римляне потерпели поражение; 93 корабля были потоплены, и приблизительно 20 тысяч человек погибли.[193] Чуть позже римляне пережили еще одну трагедию на море. Римский флот из 120 боевых и 800 транспортных кораблей почти сразу по выходе из Мессины попал в шторм у мыса Пахин (современный мыс Пассеро) и был почти полностью уничтожен.
Война на Сицилии продолжалась. В 247 году до н. э. Карфаген направил нового командующего, Гамилькара Барку, который сменил прежнего командующего, Картафона, и принял командование карфагенскими войсками на острове. Гамилькара ограничили в средствах; армия не более 30 тысяч человек, включая 10 тысяч под Гимильконом в Лилибее, и всего два укрепленных пункта — Лилибея и Дрепан, из которых можно было проводить операции. Рим владел остальной частью острова и каждый год отправлял на остров две консульские армии для удержания власти и борьбы с карфагенянами. В довершение ко всему подняли восстание наемники. Гамилькар жестоко расправился с восставшими, «как-то ночью зарезав многих, а многих бросив в море». Покончив с этим, Гамилькар перешел в наступление, устраивая опустошительные набеги на побережье Сицилии и Италии. Несмотря на численное превосходство противника, Гамилькар занял крепость на горе Эрике (современная гора Эриче). Оттуда он совершал набеги на римлян и устраивал засады. На протяжении следующих шести лет Гамилькар контролировал римлян и ни разу не потерпел поражения на поле боя.