公元前211年,传来的似乎都是好消息。然而,夏天刚过,却传来了一个令罗马人意想不到的噩耗。自第二次布匿战争爆发以来,罗马不断增加新战线。在所有战线中,唯一不断送来捷报的战线是西班牙战线。然而,正是这个战线遭遇到了毁灭性的失败。
公元前218年,当年的执政官科尔内利乌斯未能阻止汉尼拔横渡罗纳河。于是把自己带到马赛的军队交给同行的弟弟格奈乌斯,并按计划把他们派往西班牙后,自己返回意大利,等候汉尼拔从阿尔卑斯山上下来。在汉尼拔与罗马的第一次交锋,即提契诺骑兵战中,科尔内利乌斯失利并身负重伤。伤愈后,他又被派往西班牙。
科尔内利乌斯的任务是,在西班牙与弟弟会合,并攻打汉尼拔的大本营西班牙,阻止西班牙前往意大利增援汉尼拔。罗马很清楚,既然汉尼拔越过围墙,进了自家的院子,要把他赶出去很不容易。所以,必须切断外部对入侵者的补给,把入侵者彻底孤立在围墙之内。
公元前218年至公元前211年的八年间,继弟弟格奈乌斯之后,哥哥科尔内利乌斯也来到了西班牙。罗马在特雷比亚战役、特拉西梅诺战役、坎尼战役中接连败于汉尼拔的时候,负责西班牙战线兄弟俩人始终踏踏实实地恪守他们的职责。西班牙是汉尼拔九岁起一直生活的地方,是他所属的巴卡一门次优殖民地意识非常强烈的地方。但是,期间,西班牙却未能给汉尼拔提供任何援助。
在西班牙的科尔内利乌斯兄弟俩把根据地设在了塔拉戈纳。塔拉戈纳靠近埃布罗河。埃布罗河是第二次布匿战争爆发之前,罗马和迦太基两国相隔的国境线。每年春季一到,战斗重开之时,兄弟俩就率领军队渡过埃布罗河,向南发起进攻。罗马给了他们两个军团,兄弟俩分别带领一个军团作战,在战斗中取得节节胜利,成功地消弱了迦太基在西班牙的势力。公元前212年,进入自然休战期后的秋天,科尔内利乌斯兄弟俩已夺取了迦太基统治下的西班牙三分之一区域。这是从最高指挥官到普通士兵一直坚持战斗,未回一次国的结果。
迦太基国内非常担忧西班牙的战况。他们把本该送到意大利增援汉尼拔的援军和汉尼拔的小弟马可尼送到了西班牙。当然这其中还有其他原因。首先,意大利海域的制海权掌握在罗马手中。有罗马海军相阻,迦太基的援助无法如愿到达意大利。与此相比,到西班牙只要横渡直布罗陀海峡即可,危险系数小很多。其次,出于经济上的考虑,西班牙矿藏丰富。对于迦太基国内来说,支援西班牙意味着“继续投资”。所以,国内农业派也表示同意。就这样,迦太基国内提供的援助,包括本该前去增援汉尼拔军的兵力,全部投入到了西班牙。
迦太基是一个以雇佣兵制度为传统的国家。因此,来自迦太基的支援,使西班牙的雇佣兵市场突然火爆起来。
同期的罗马无力增派军队前往西班牙。科尔内利乌斯兄弟俩只有依靠现有的两个军团继续作战。虽然连战连捷,但是,连续的战斗不可避免地造成了战斗力的减损。罗马军队没有雇佣士兵的习惯。科尔内利乌斯兄弟俩按罗马的方式来补充自己的军队。他们没有用钱雇佣当地居民,而是与被征服地的土著部族缔结同盟关系。条件是由被征服地提供作战兵源。