形势对塔兰托是严峻的,对罗马更加严峻,可即便如此,罗马人依然做出了理智的判断,他们认为,制胜的唯一办法就是赶在皮洛士与塔兰托人的37万空想之兵集结之前袭击皮洛士。于是,他们迅速集结人马南下。
双方在距离塔兰托不远的赫拉克利亚第一次交手。赫拉克利亚是一片平地,对善于在平原地带作战的罗马军来说应该是有利的,然而不知道是不是因为还没有走出萨莫奈之战的影响,罗马军统帅居然摆出了更适于山区的纵向阵形。另外,在此之前,罗马人还从未见过大象,更不知道大象也能像士兵一样上战场,立刻被皮洛士带来的那18只庞然大物吓住了。战斗结束时,罗马军团有7000人阵亡,皮洛士的方阵部队只损失了4000多人。
很快,罗马军被皮洛士打败的消息就在亚平宁半岛南部传开了,那些担心自己早晚会被罗马吞并的城邦纷纷申请加入皮洛士的部队。皮洛士正愁自己在战争中的损失无法得到补充,连忙爽快地答应了。初战告捷和损失得到补充的喜悦,令皮洛士心情大好,他决定乘胜追击,北上进攻罗马城。
他还有一个打算,那就是沿途说服罗马的盟邦,让他们叛离罗马——在皮洛士看来这是完全有可能的。不过,皮洛士失算了,无论他怎么劝诱,那不勒斯、加普亚和萨莫奈都没有背叛罗马。这大大打击了皮洛士的信心,使他在距离罗马城只有60公里的地方停止了进攻,沿原路返回了。
皮洛士回到塔兰托之后,向罗马提出了和谈的请求,条件是罗马尊重亚平宁半岛南部的希腊城邦,不得随意侵犯它们;宣布萨莫奈、加普亚等城邦再次独立,作为罗马和希腊城邦都不得染指的地带。假如罗马同意和谈,就得撤去因战略需要而建在该地的卢克利亚和韦诺萨这两个殖民地,并且废弃阿皮亚大道,而这对罗马人来说显然是不可能的,因此双方只好再次用武力决定胜负。
这一次,罗马谨慎地把战场选在了位于卢克利亚和韦诺萨之间的山谷。交战第一天,由于皮洛士的骑兵和战象无法在山谷里自由驰骋,因此双方打了个平手。第二天,皮洛士改变战术,企图将罗马军团引诱到较为平坦的地带,罗马军团果然上当,再次惨败,有6000人战死沙场。
皮洛士也遭受了不小的损失,有3500人阵亡,而且其中有一大部分人都是他从伊庇鲁斯带来的。打退罗马人之后,皮洛士怎么也无法像第一次战胜罗马时那样笑逐颜开,他对齐纳斯说:“每次与罗马军交战,我军的战斗力都会大大削弱。”就在这时,一位来自西西里岛叙拉古的使节来访,他希望皮洛士能够帮助他们打败正在进犯西西里的迦太基人。皮洛士正好厌烦与罗马人作战,因此满口答应了。他对塔兰托人说他很快就会回来,然后就率领部下出发了。
3年后的夏天,皮洛士无功而返,他的部下少了一半,剩下的也在经历多次失败的折磨之后丧失了再度尝试的勇气。皮洛士向塔兰托人请求重建军队,塔兰托人没有给他一兵一卒。罗马人就不同了,他们利用这段时间不断巩固罗马联盟,已经做好了迎战的准备,还没等皮洛士有机会展开部署,他们就迎了上去,渐渐地占了上风,还活捉了几头战象。
皮洛士担心自己一败涂地,连忙率军撤回了塔兰托。这年初秋时节,皮洛士悄悄地离开塔兰托,回到了伊庇鲁斯,有幸与他一起回国的,只有8000名步兵和500名骑兵。又过了3年,皮洛士在攻打斯巴达时阵亡。
把天才战术家皮洛士赶回老家后,罗马顿时成为一个引人注目的大国。就连地中海强国埃及,也因此在两年之后与罗马建立了友好关系。
公元前272年,罗马轻易攻克了塔兰托,将它变成了自己的海军基地。
至此,罗马人终于可以在北自卢比孔河、南至墨西拿海峡的亚平宁半岛上自由行走了。