随着马其顿的最后通牒被驳回,马其顿的军队立刻展开了对迦太基的严密包围。即便到了这一后期阶段,亚历山大还是希望自己展示一下武力迦太基就会不战而降。阿明塔斯率领6军攻打保卫地峡的城墙,亚历山德率领舰队攻打城市南部突尼斯湖边上一处沙嘴旁防守相对薄弱的城墙。
有些士兵在登6后用人力在城墙上架起了梯子,其他梯子则是直接架在马其顿战船的船头上,搭在城墙上。两处攻城的马其顿士兵都遭到了骤雨般的投射武器攻击。士兵们被如此顽强的抵抗打了个措手不及,只得撤退。第二波攻势同样没有奏效,守方的信心越来越强,马其顿人则选择在城外安营。哈斯卓巴率领军队从湖的另一侧对马其顿军队展开了骚扰。
被迪亚斯派出搜集木材的一队士兵遭到了席罗和一些迦太基骑兵的伏击,3oo人被杀。第三次,马其顿人试图从两面同时攻城,但又失败了。阿明塔斯成功越过了外侧的壕沟,在木栅上打开了缺口,但对横跨地峡的主城墙无能为力。
由于用梯子登上城墙这一方法行不通,迪亚斯便组建了两架级撞车,把突尼斯湖填上了一部分,造出了一条足够宽且坚固的路,以便于把撞车带到城墙下。每架撞车配有1oo人,他们可能负责推车和挥动撞木。一队是阿明塔斯的人率领着,另一队是由亚历山德手下的将领带着海军士兵,两队人展开了竞争,争相率先在城墙上撞出缺口。马其顿人撞出了两个缺口,但迦太基人在当日黄昏将其击退了,并在夜里尽力修补了城墙。
在夜色的掩护下,一支迦太基突袭队出城用火油点燃了两架撞车,尽管没有将其彻底破坏,但所造成的损坏足以让它们失效了。天亮之后,守城者们现,尽管他们已经做了力所能及的一切,但还是没能堵住城墙上的全部缺口,至少还有一个能为马其顿人所用。
在意识到危险后,迦太基士兵们在缺口后面列阵严守,同时大量只配备了投射武器的人聚集到了附近的屋顶上候敌。马其顿人迅组起了一支进攻队伍,从这个缺口起猛攻,但这次参与攻击的意大利佣兵组织散乱,在最初取得了优势后就陷入了困境。指挥进攻的卡维优斯·彭提乌斯手下有卢卡尼亚人、布鲁提亚人、以及萨莫奈几个部族的人,成分过于复杂,向心力不足,一受挫就很容易败退,可谓是来也勃焉去也忽焉。
在湖边的军营所处的环境恶劣,容易诱疾病。还未到夏季,疫病却已开始在营中蔓延,亚历山大立刻让人把营地撤到了靠近大海的地方重新安营,并把患者隔离开来,把大量医护人员派过去治疗。
每次只要风向合适,迦太基守城者就会派出火船攻击马其顿舰队,措不及防之下损失了不少战舰。迦太基人有一次还突袭了克雷托斯的营地,一些人带着柴捆和木梁,填平了围绕着营地的壕沟,或在其上架了桥。他们趁夜出动,打了马其顿人一个措手不及,令其陷入了慌乱。
这一次,德米特里稳住了局面,他率领一队骑兵从营地后门出去,然后绕回来攻击迦太基人的侧翼,使对方在混乱中撤退了。执政官随后加强了营防,免得再像这次一样差点酿成大祸。亚历山德还在海岸附近又建了一个堡垒,以掩护马其顿的补给船靠岸。
马其顿的攻击没有对迦太基的城防造成任何实质性的伤害。随着夏季的来临,亚历山大派盖拉斯去蹂躏了附近忠于迦太基的乡郊地区。这么做的一部分原因是为了向敌人施压,但主要原因还是为人马收集粮草,搜集做饭和建筑用的木料。
迦太基非常鸡贼,席罗率领着一支努米底亚骑兵,多次伏击了马其顿分散了的小股征粮队,给其造成了极大的伤亡。亚历山大大骂了一顿盖拉斯,改让德米特里负责征粮事宜。德米特里从来不让部队过于分散,总会留有几队骑兵和步兵保持阵形,时刻准备掩护轻装的寻粮队,因此能避免遭受此类袭击。
一波未平一波又起,一股充满恶意的流言在马其顿军营中开始传播,称迦太基人没有攻击德米特里是因为德米特里父亲的死心怀怨恨而和迦太基人联合了起来准备叛乱。饶是德米特里大大咧咧,对此也是心惊胆战。亚历山大抓住了传播谣言的几个士兵,也不管三七二十一,直接叫人给砍了。至于真相,想都不用去想,反正是阴谋没错了,对付阴谋的办法就是大庭广众之下证明谣言就是谣言,不管是被利用了还是有意的,反正这几个士兵光动摇军心就是一个死罪。
一天在亚历山德归营时,城中的努米底亚人又动了一次夜袭,这次他们的目标是罗马人用于保护运输船靠岸处的小堡垒。尼卡诺带领1o支马其顿枪骑兵小队出击,大约有3oo人,但他并没有直接迎击夜袭的敌人。相反,罗马骑兵们手持点燃的火把在迦太基人附近来回移动,假装有一支更大的部队正在集结。这个计谋成功令夜袭者们惶恐地撤退了,尼卡诺追着他们的屁股把他们杀了个大败。
一天夜里,席罗趁着夜色再次出击,这次他不是为了杀伤敌人而是冲出包围去求援。由于带的全是骑兵,在丢下了几百具尸体之后他带着剩下几百骑兵冲出了马其顿的包围圈。他到哈德鲁梅图姆征集了4ooo兵马,又到努米底亚地区征集了1oooo佣兵。他把部队带到了尼菲里斯(nepheris)附近一带,即今宰格万山(djebe1aghouan)所在的区域,位于突尼斯东南方向不到3o公里外。亚历山大派出德米特里带着手下25oo左右的骑兵加上克雷托斯的4ooo希腊重步兵、塞拉克西斯的5ooo色雷斯佣兵、1ooo长弓手和2ooo投石手前去剿灭。
迦太基人和马其顿人隔着一条小河,在河谷尽头的高地扎营,河边泥土十分松软,地势十分有利,马其顿人只能排成狭长的队伍靠近攻击。克雷托斯的部队渡河进攻,取得了一些进展,经过一番苦战后将迦太基人逼回了高地。这里易守难攻,在人数差不多的情况下,疲惫的马其顿人从山下向山上起进攻的成功概率微乎其微。席罗派弓箭手向下射击,耐心等候其撤退,因为他知道马其顿人在没有弓箭手的帮助下不能在原地停留太久,一定会撤退。在与敌军距离很近时撤退既危险,难度又高,对此时的克雷托斯来说更是如此,因为河上可以淌水而过的浅水区域比较窄。当马其顿人背向迦太基人渡河到一半的时候,席罗下令进攻,杀死了不少迅陷人慌乱的希腊士兵。
这时德米特里召集了马其顿骑兵,直接趟过小河,带他们起了有序的冲锋。他的人马只冲到了足以逼退敌人的地方且在迦太基弓箭手的射程外后,便没再继续追击,而是重整了散乱的队伍。德米特里阻断了迦太基人的追击,为希腊重步兵赢得了足够的时间跑到河对岸。之后在敌人猛烈的投射武器攻击下,他们骑马疾驰回到了河对岸。
见一时半会拿不下来,德米特里在河边建造了军营,还挖了一道战壕,并建了一道围墙封锁河谷,断绝了迦太基人的补给。然后派人到迦太基城下索要补给。与敌人对峙了15天,迦太基人终于扛不住了,最先闹腾起来的是努米底亚人,一下子跑了好几百人。不得已之下席罗只得下令突围。他让士兵们砍伐了树木当做了很多木板和简易的攻城锤,分两队人马先后从东西两侧出击,木板不断地被搭在了围墙上,士兵上去之后再打起了下去的路,还有些士兵则砸起了栅栏,因为想要全部跑出去,需要足够的宽度。
“将军,迦太基人在东边准备破墙突围,您快派兵支援吧。”一个岗哨向在睡梦中的德米特里禀报道。
德米特里立即召集了所有将领,说道:“迦太基人恐怕不太可能从一处突围,塞拉克西斯,你去东边堵截,格雷塔斯,你把弓箭手投石兵分成两组,一组支援塞拉克西斯,一组待命。克雷托斯,步兵全部整装待。”
小半个时辰后,席罗向西边起了突围,德米特里让克雷托斯和远程兵立刻冲过去抵挡,自己带着骑兵伺机而动。
西边的进攻明显比东边更猛烈,不过克雷托斯的希腊重步兵防御起来比那些色雷斯人更厉害,又过了一会,德米特里让克雷托斯慢慢后撤,把人放出来。很快一部分迦太基步兵打开了缺口,瞬间努比底亚骑兵涌现而出,他们冲出后不断向希腊重步兵投掷起了标枪。这时候德米特里率领骑兵冲杀而去,努比底亚骑兵瞬间崩溃四散而逃。德米特里乘势斩杀了一些时候又回头冲击剩下的步兵,努比底亚骑手一旦逃跑根本是追不上的。席罗看着被屠宰的迦太基士兵,又看到马其顿的骑兵数量众多又异常精锐,除了那些努比底亚人,就算有步兵从这跑了出去,但在这茫茫荒原之中在数千骑兵的追击下也根本逃不走,最后只有全军覆没的下场,无奈之下便投降了。
亚历山大得到消息后非常高兴,送给了席罗一匹汗血马、一套精美的铠甲以及3o塔兰特的白银以示嘉奖。当投降的迦太基人出现在迦太基城下之后,迦太基人在城墙上破口大骂,亚历山大没想到不仅没有看到对方泄气的样子,反而是一副众志成城的样子,不禁对迦太基人坚强的意志感到钦佩。他知道,总攻的时机还没有到,而之所以没有把席罗拉过去是因为一旦这样做,作为将领投降,迦太基人是不会原谅他的,哪怕元老院不话,他的家人都会被愤怒的民众全部拖到广场上被施虐而死。
迦太基人见情势不妙,于是又开始作妖,不仅派遣了特使前往努米底亚人部落求援(努米底亚人包括努米底亚西部的马萨斯里人和东部的马斯里人),还派人去埃及,打算让托勒密进攻马其顿,使其尾不能相顾,最后还派人前往达契亚打算与卡山德结盟。
卡山德逃到达契亚之后,靠着他那吹牛不打草稿的口才得以在当地立足,成了当地一个部落的贵客,并迎娶了其女儿。当卡山德得知亚历山大和他的军队都耗在迦太基几个月之后,心中的野心和恨意再次涌起,部落领并不赞成其出兵,于是某一日夜晚,他派人装成其他部落的刺客刺杀了部落酋长和他的继承人,最后他出手击杀了刺客。于是,他登上了部落领的位置。
他再次用计派了一群人逃到南边的一个部落里冒充原部落领的亲信,告诉对方卡山德谋杀了领,并希望得到对方的帮助,结果这个领心里一喜,带人偷袭卡山德,结果毫无意外地丢了性命,就这样,卡山德一下子拥有了两个部落,召集了15ooo人,并从达契亚以北的斯拉夫人处借了3ooo斯拉夫斧兵,然后偷偷南下准备奇袭马其顿。
在长期的围城战中,亚历山大现了迦太基北面的城防的一处薄弱环节,这里地形险峻,形成了天然的防御,以至于迦太基人觉得不需要额外添加防御工事。亚历山德派兵在这里登6,试图爬上去,引得迦太基守军从附近的一座城门冲了出来,与其交战。在随后的交锋中,马其顿士兵击退了迦太基人,一路追进了城门。
亚历山德受这场意外之胜的鼓舞,急忙召集了手下所有人攻进去,其中甚至包括武装薄弱的船员。这些人当中只有5oo人是全副武装的士兵,其余的3ooo人都不是。迦太基城的一隅现在落到了马其顿人的手里,但是他们的控制并不稳固,因为迦太基的北部城区都是广袤的田地,南部是城区,南北部中间的位置还有一道马戈尼德王朝时期建立的城墙。所以无论是马其顿还是迦太基在北面的兵力都是非常少的。亚历山德孤立无援,附近没有马其顿的大部队,亚历山大求援。
正好此时奉命带着一些迦太基俘虏运输物资的海格力斯到达北面碰到了亚历山德,为了让敌人陷入恐慌,海格力斯放弃了奇袭的机会,他立刻将这些俘虏赶回城内,为迦太基人带去马其顿人善待俘虏和一些于民有利的政策信息。迦太基人的大部队很快赶过来,兵力不济的马其顿人只得退到了城外,不过海格力斯觉得有了这些俘虏进去宣传马其顿的好,后面应该是会有些作用的,至少他从来没有虐待过这些俘虏,而且每顿都不会少了他们的。马其顿人的仁慈是传到了迦太基,但他还是小看了迦太基的韧性,海格力斯的仁义之举只能在战争结束后产生作用了。