不过,让迦太基人稍稍放心的是,西西里岛与亚平宁半岛之间还有一条小小的海峡,只要将战船守在那里,罗马人就无计可施,而在海上,迦太基向来找不到对手。
但是,当海战打响后,迦太基人才发现自己太乐观了。
迦太基人进行海战的策略是用船只坚硬的前部去撞对手的船腹,这个策略确实很高明,但是罗马人发明了一种机器,它就像一台起重机一样,有一条长长的铁臂,尖上还有一个大铁钩,当两船靠近时,迦太基人的船只往往就会被勾住,再也动弹不得,罗马士兵跳上来,于是海战实质上变成了短兵相接的陆战,所以迦太基人被打得大败。
整个西西里岛落入了罗马人之手。
但是罗马人意犹未尽,罗马军队由两位执政带领,向北非进发,但是迦太基城的坚固超出了他们的想像,迦太基人趁罗马人立足不稳发动反攻。两位罗马执政,一位战死,另一位则成了战俘。迦太基人梦想着夺回他们的天然粮仓西西里岛,于是一位年轻的军官走上了历史舞台,他的名字哈尔米卡。他的出现使战事日渐平稳,罗马人的攻势也大不如前,不过,聪明的罗马人知道一时无法打败哈尔米卡,所以调头去打其他迦太基军队,而哈尔米卡也不时出兵扰乱罗马人的后方。
这一战打了整整二十三年,就在双方灯尽油枯时,迦太基议会的元老们决定认输。从此西西里岛正式划归罗马。而罗马人后来趁迦太基发生雇佣军叛乱,把撒丁岛纳入腹中。
哈尔米卡没有想到会是这种结局,一时心灰意冷,于是带了一支军队远走西班牙,建了一个新迦太基城。
但是有一次与当地部落交战时,哈尔米卡掉入洪流中,这位生平从没打过败仗的迦太基将军却不是洪流的对手,当属下把他捞起来时,发现他已经气绝多时。
不过,也正是他的死,使他的儿子汉尼拔走到台前。
他决心要为迦太基收复失地,并攻下罗马城。
当罗马人听说这消息时,在海滨地区张网以待,他们认为汉尼拔只有这条路可走。
但是汉尼拔带领十万人从西班牙出发了,他的军队翻过阿尔卑斯山,虽然到达意大利平原时只有不到一半人马,但是仓皇应战的罗马人在特拉西美诺湖附近几乎全军覆没。
罗马城近在眼前,如果汉尼拔果断进攻,罗马人根本就无法组织军队抵挡,但是这位迦太基将军却想联合意大利部落孤立罗马,然后不战而胜。
罗马人获得了宝贵的时间,他们很快组织了一支军队,由执政费边带领,另一方面从海路封锁迦太基对汉尼拔的支援,还四处活动,瓦解汉尼拔与意大利人的同盟。
费边是个文官,对于军事不在行,所以他根本不和汉尼拔正面作战,而只是不时地出动小股部队骚扰。
不明形势的罗马市民倒是想尽快把迦太基人赶走,所以费边被调回,另外两位年轻执政当上了部队指挥,他们马上决定和军队人数只有自己一半的汉尼拔决战。
罗马人对这一仗相当乐观。
但是结果却让他们大吃一惊,八万罗马军队被四万迦太基军队全部消灭。
罗马人认识到了问题的严重性,推举一个年轻的军官为执政,他就是西皮阿。
西皮阿也没有正面和汉尼拔作战,而是渡海进攻迦太基本土,结果打得兵临城下。迦太基议会慌了,召回了汉尼拔的军队。这是一个致命的决策错误,因为它让罗马人可以放心地进攻了。
在一个名叫扎马的小村庄附近,双方摆开了阵势。但是这一次,汉尼拔输了。他生平只输了这一次,但这一次却最为致命。
汉尼拔被迫逃到小亚细亚,迦太基再一次割地赔款,西班牙的殖民地落入了罗马人之手,迦太基只剩下北非的弹丸之地,所以它的灭亡只是时间问题了。
当罗马人逼死了汉尼拔,消除了地中海四周的一切隐患之后,对迦太基的总攻开始了。这完全是一次屠杀,罗马的战争巨轮辗过了迦太基城,只剩下一片瓦砾。
在和汉尼拔作战期间,罗马平民奋勇参战,所以罗马元老院决定给予他们政治上更多的权利,而且改善了他们的经济条件。除此之外,意大利人也被授予罗马公民权,这是一种聪明的笼络手段,可以确保意大利人在汉尼拔那样的敌人入侵时不会和外敌勾结。
在随后的地中海沿岸的小规模征服战中,罗马取得了节节胜利,两个著名的将领也从中脱颖而出,一个是苏拉,另一个是马略。他们手中都掌握着一支强大的军队,同样在战场上令敌人胆寒,但是彼此仇视。如果不是东方的一个小国的国王米特里达提斯,想建立又一个亚历山大帝国,从公元前88年开始驱赶和屠杀在那里经商和生活的罗马人与希腊人,真不知道他们二人的争端要到何时结束。
二人都想领军讨伐黑海边的敌人,借此壮大自己的势力,但是相比平民出身的马略,贵族出身的苏拉与元老院元老的关系更好,所以苏拉赢得了这次权位之争,而马略只得逃往非洲。然后趁苏拉远征亚洲,杀回罗马,逼元老们推举他当执政。但是马略此后不久竟然暴卒,他的军队也如鸟兽散。
苏拉花了好长的时间才打败米特里达提斯,然后迅速回到罗马,清除了马略的党羽,整个罗马城再也没有人是他的对手,他被封为&ot;独裁官&ot;,其权力和后来的罗马皇帝没有什么区别,不过苏拉没有做皇帝的野心。他做了四年&ot;独裁官&ot;,把权力交还给元老院,一心去种他的白菜去了。