Оценив масштабы потерь, римские полководцы приняли решение не восстанавливать разрушенное и больше не штурмовать город, а лишь продолжить блокировать его с суши и, по возможности, с моря. Осада перешла в затяжную вялотекущую фазу, во время которой активные боевые действия были сведены к минимуму. «Римляне оказались беспомощны в результате сожжения своих машин, а также из-за скудного пайка и мора, и так как они и их союзники питались исключительно сырым мясом, они были настолько заражены болезнями, что много людей умерло за несколько дней. По этой причине они даже были готовы отказаться от осады, но Гиерон, царь Сиракуз, отправил им зерна в изобилии и вернул мужество, чтобы возобновить осаду» (Diod. XXIV, 1, 4). Гарнизон Лилибея, напротив, воспрянул духом, отстроил разрушенные укрепления и, имея в запасе достаточное количество продовольствия, стойко удерживал город. Гимилькон даже пошел на уменьшение гарнизона, отправив всю свою конницу в Дрепан, поскольку не особо опасался попыток штурма со стороны измученного и деморализованного противника и обоснованно полагал, что кавалерия будет бесполезна во время стычек на небольшом пространстве, ограниченном городскими стенами Лилибея и морем с одной стороны и римскими лагерями с рвом и валом между ними – с другой (Diod. XXIV, 1, 3). Так стойкая и успешная оборона Лилибея в 250 г. до н. э. стала достойным ответом карфагенян за прошлогоднее поражение при Панорме.
Потерпев неудачу у Лилибея, римляне решили продолжить его осаду, а активные боевые действия перенести к другой пунийской твердыне на Сицилии – городу Дрепан. В 249 г. до н. э. нападение на него возглавил консул Публий Клавдий Пульхр, предложивший совершить быстрый ночной переход флота от Лилибея и неожиданно для противника ворваться в городскую гавань. Тайно подготовив суда к отплытию, около полуночи римский флотоводец вывел их в море и к утру, незамеченный пунийскими разведчиками, достиг Дрепана. Командовавший дрепанским гарнизоном пунийский военачальник по имени Адгербал действительно не был готов к появлению римского флота в его собственном порту, однако быстро сориентировался в ситуации и решил дать римлянам встречный морской бой, а не подвергать Дрепан длительной осаде, подобной лилибейской. Пока медлительные римские корабли входили в городскую гавань с юга, Адгербал стремительно вывел весь свой флот в открытое море, воспользовавшись вторым, северным фарватером, не занятым римскими судами. Для римского консула выход карфагенского флота в море стал полной неожиданностью, тем более неприятной потому, что его собственные корабли растянулись вдоль сицилийского берега, и в то время, когда передовые из них уже маневрировали в гавани Дрепана, часть лишь втягивалась в бухту, а остальные и вовсе находились в открытом море. Публий Клавдий Пульхр находился при этом в самом конце вереницы римских кораблей, поэтому отреагировал на маневр Адгербала с критическим опозданием – карфагеняне уже практически покинули бухту, когда консул отдал капитанам римских судов приказ разворачиваться и выходить из бухты.
Римскому флотоводцу нужно отдать должное – он правильно разгадал замысел Адгербала, планировавшего, выйдя в открытое море, развернуть корабли в боевое построение и ударить по растянувшимся вдоль сицилийского берега римским судам. Предотвратить это Публий Клавдий Пульхр уже не мог, оставалось лишь принять бой, заняв боевые позиции и развернув корабли кормой к суше и носом в море, по направлению к противнику. Однако сделать это оказалось непросто, в особенности тем судам, которые уже вошли либо начали входить в гавань Дрепана. Разворачиваясь, римские корабли сталкивались, ломали весла и создавали невообразимую сумятицу, однако в итоге консулу удалось выстроить свой флот, заняв боевую позицию параллельно берегу. Напротив него уже закончил выстраивать боевые порядки карфагенского флота Адгербал. Точное число судов карфагенян и римлян в этой битве неизвестно, но, судя по косвенным данным, римский флот насчитывал чуть более 200 кораблей (Диодор Сицилийский называет цифру 210 судов (Diod. XXIV, 1, 5), Евтропий – 220 (Eutrop. II, 26, 1)), пунийский же был вдвое меньшим. Однако двукратный численный перевес мало чем мог помочь зажатым на прибрежном мелководье и лишенным возможности маневра римлянам.