Римляне быстро достигли городских стен и начали стремительно карабкаться наверх. И здесь выяснилось, что Публий допустил серьезную ошибку в планировании операции, поскольку непреодолимым препятствием для римлян стала высота стен Нового Карфагена. Лестницы из-за своей длины оказались недостаточно прочными, и когда множество легионеров стало по ним подниматься, хрупкие конструкции начали разваливаться. Десятки римлян полетели вниз с чудовищной высоты и разбились насмерть. Ливийцы выжидали, когда на лестнице окажется как можно больше людей, а затем сбрасывали сверху бревна и тяжелые камни. В других местах легионерам всё-таки удалось достигнуть зубцов крепостной стены, но здесь у многих началось головокружение, и карфагеняне без особого труда сбрасывали растерявшихся врагов на землю. Всё подножие крепостных стен и башен было усеяно телами легионеров и обломками лестниц, но римляне не прекращали натиска и в азарте боя продолжали лезть наверх.
Одновременно началась атака со стороны моря. Но организована она была настолько бестолково, что римляне не достигли на этом участке фронта никакого успеха. Отряды морской пехоты высаживались на берег в суматохе и беспорядке, легионеры, не соблюдая строя, бежали к стенам, поскольку каждый хотел первым ворваться в город. Вместо того чтобы скоординировать свои действия, командиры манипул только мешали друг другу. Римляне то приставляли штурмовые лестницы к стенам, то вдруг неожиданно оттаскивали их назад, неся существенный урон от летевших сверху метательных снарядов. Потери были большие, но продвижения вперед не было.
Сципион лично возглавил штурмовую колонну легионеров. Командующий встал поблизости от городских ворот и отсюда руководил боем, посылая манипулы на участки, где мог обозначиться успех. Трое телохранителей прикрывали полководца большими щитами, отражая летевшие сверху стрелы, копья и дротики. Выпущенные из пращей камни как град стучали по крепким римским щитам, но Публий оставался на месте, одним своим видом воодушевляя идущих в атаку легионеров. Со своей позиции он хорошо видел все перипетии сражения, ободрял храбрецов и упрекал оробевших. Но римляне потеряли множество бойцов, воины устали от бесплодных попыток закрепиться на гребне стены, и Сципион приказал трубить отступление. Под ливнем стрел и камней легионы отступили на исходные позиции.
Всё пространство между городскими стенами и римским лагерем было завалено тысячами мертвых тел и обломками осадной техники, повсюду слышались крики раненых и умирающих воинов. Магон с высоты башни окинул взглядом поле боя, показал на него своим командирам и сказал: «