时间已经来到了夏季,迦太基士兵的士气仍未见颓势,亚历山大通过席罗的交代了解到迦太基的卫城(即比尔萨)西边有一段与外城墙平行的约一公里的城墙,他决定直接攻打这里,只要攻破外墙以后迅速突入卫城,迦太基就算拿下了,虽然有一定难度但却值得一试。
于是,两支马其顿人的袭击部队趁夜向相隔甚远的两处城墙分别进发,一处用投石机大量投射石头,造成了这里为主攻方向的假象。起初给敌人造成了一些混乱,确实有一部分人被吸引过去了,但是真正的主攻部队拿着爬墙用的飞钩在快到达城墙时被发现了,马上被一波投射武器的攻击逼退了。原来,这不到一公里的城墙上拥有接近100台投射器,简直变态,全世界没有一个城市能拥有这么多的投射器,怪不得原来历史上迦太基向罗马交出了2000台投射器。
亚历山大不甘心失败,集合了5000名弓箭手和30台投石机,对城墙进行狂轰乱炸。然后士兵们推着十几台攻城塔楼和无数的云梯纷纷冲向城墙。但即使是晚上,迦太基人的警戒心依然不可小视。城楼上亮起了无数的火焰,有大量的人爬上了城楼,很多不是士兵,而是附近的民众,他们穿着虽然单薄,却个个手拿武器,意志坚定地等待着马其顿人的到来。马其顿弓箭手人数比迦太基的多,但是迦太基的弩炮和投石机却比马其顿的还要多,虽然其精准率很低,但是一旦被射中,死相极惨,有时甚至两个人串了起来。而投石器上投射出来浇上火油的石头则更加恐怖,这两个武器对马其顿士兵士气的杀伤力比实际人数的杀伤力更恐怖,双方的死伤都非常惨重。
好几台攻城塔都被迦太基的投石机砸塌或者烧了起来,搭上城墙的攻城塔有的还没有等士兵登上城墙就被从斜侧射过来的配重弩箭射中,然后慢慢倾斜,最后倒塌。云梯上的马其顿士兵更惨,不是被城墙上的滚木礌石砸的脑浆迸裂就是摔下梯子半身不遂。一些迦太基平民拿着叉子特别适合对付云梯,直接朝梯子一叉再向前一推就什么都解决了。虽然有着弓箭手的压制,但攻城一方的死伤还是远远大于守城的一方。哪怕最后有人登上城墙了,但是城墙后面还有卫城的城墙,随着迦太基的兵越来越多,亚历山大只得放弃了攻城。
此次攻城死伤了将近三千人,士气折损不少,攻城塔损毁十多台,投石机也损耗好几台。此次马其顿人的进攻让迦太基人心惊胆战,以至于哈斯卓巴万不得已下令将一些马其顿俘虏带到了城墙上,在围城的马其顿士兵面前将他们折磨致死,借此告诉马其顿人鱼死网破的决心,也告诉所有迦太基人,不要再抱有任何投降的幻想。一百零四人会议中的一些成员向来与哈斯德鲁巴关系紧张,当他们对此举提出抗议时,哈斯卓巴将这些人逮捕并处死了。
亚历山大此时决定对城市建立更紧密的封锁,他让阿明塔斯率领部队继续向前推进到了地峡上,花了十多天在那里建造了一系列防御工事,尽管敌军在此期间想尽了办法拖慢他们的进度。马其顿士兵挖了一道巨大的矩形壕沟,其后有一座8肘尺(约4米)高的壁垒,壁垒上每隔一段距离都建有塔楼,最中间的一座塔楼最高,为罗马人提供了一个观测点。这一套工事支配了整个地峡,堵死了进入城市的陆路。为了破坏敌方最后的补给来源,亚历山大下令在通往迦太基大港口的狭窄入口的航道上建立了一道堤坝。
古代的攻城战一般就是攻方与守方之间的反复拉锯,双方都投人工程技巧和大量劳力,设法占据优势或令对手的计划落空。迦太基人此时将大部分精力放在了保持海路畅通上。当他们发现海水无法冲塌这道堤坝时,他们决定开辟一条新的航道,连接军港和大海。这项工作是在夜间秘密进行的,大量妇女和儿童也主动去帮忙了。与此同时,迦太基人还从零组建了一支由50艘三列桨座战船和一些小型船只组成的舰队。对此,亚历山大一无所知,直到某天破晓时分,迦太基的最后一支舰队从新的航道驶出了。
马其顿舰队因为这几个月内都没有战事,根本就没有做好准备,他们在仓促中开始和迦太基战舰交战,幸亏三百艘战舰出港需要花费大量的时间,才给了马其顿海军一定的准备时间。最终,两支舰队在靠近岸边的地方近距离交战了。迦太基战船体积较小,更快更灵活,能够潜入船体较大的罗马战船之间,撞断对方的桨或舵,然后迅速撤离。直到迦太基人开始撒退时,战斗也没有决出胜负。他们用三列桨座战船掩护较小的船只、也许新航道建造得匆忙,没有正式竣工,也可能有些船员和船长陷入了慌乱,总之一些小型船只相撞,很快造成了严重的阻塞,彻底堵住了回港的路。迦太基的三列桨座战船无法从此撤进港口,只得后退并泊在了城墙下的一片码头旁。这片区域似乎是以前用于装载大港口容纳不下的商船的地方。这些战船一致将撞角向外,码头上的壁垒也为船只提供了额外保护,这些壁垒是在围城刚开始时建造的,上面放置着很多投射器,以防马其顿人从这里登陆。马其顿舰队斗志高昂,冲上前去进攻,但是几乎和敌方遭受了同样大的损失,因为战船每发动完一次撞击再向后撤时很容易被攻击。
最后一个老船长想到了一个方法告诉了亚历山德,就是让船只在撞击前先把尾锚交给后面的船只,完成撞击后再由后面的船只将他们拽回来,于是马其顿人才开始获得优势。后排战舰的投石机与城墙上的投射器互射,前排的三排桨战舰的撞击则给敌船造成了严重伤害。直到夜幕降临,少数幸存的迦太基船只才得以回港,之前新航道口的拥堵此时已经被疏解了。
迦太基城与外界的联系和所有补给线现在已经被彻底切断了。假以时日,这座城市就会陷入饥荒,不得不投降,然而亚历山大不想再浪费时间,继续尽可能地加快进攻速度。由于迦太基海军已经受到重创,再也没有了出港一战的实力。他把投石机运送到新建的堤坝上攻打迦太基最近使用过的码头上的壁垒,加上战舰上的投石机一起,轰开了缺口,并让弓箭手一起用密集的箭雨阻止敌人修补。