这时候,罗马人才如梦初醒,汉尼拔竟然恐怖如斯,他们马上征召大量平民入伍,重新组建了10万大军,由新上任的执政官菲拉米尼乌斯率领。菲拉米尼乌斯是平民背景,完全依靠个人努力与平民的支持进入元老院并成为执政官,他治理国家是个好手,但是军事能力却很一般。
面对罗马10万大军,汉尼拔不断地引诱罗马人去到了他认为适合决战的绝佳地点:特拉西梅诺湖。菲拉米尼乌斯认为汉尼拔没有后援补给,逃跑是正常的,完全没有意识到这是汉尼拔在使诈。特拉西梅诺湖在清晨很容易产生大雾,汉尼拔敏锐地发现了这个地理特征,他把军队分成几部分,让其中一队军队沿着提前沿着湖边的悬崖悄悄转移,大杀器努米比亚骑兵隐藏在湖边西面峡谷口的一个山上,标枪兵和投石兵埋伏在湖边道路附近的山坡上,凯尔特人同盟兵则埋伏在东边。
菲拉米尼乌斯没有听进部下的劝告不要冒进,因为他知道,经过长期的追击,汉尼拔就在特拉西梅诺湖边驻扎,他同样认为这是一个全歼汉尼拔的天赐良机。第二天早上,湖边大雾如期而至,菲拉米尼乌斯很开心,他以为自己可以掩护借助大雾的神不知鬼不觉地接近汉尼拔,然后一举击溃敌人。
菲拉米尼乌斯率领两个军团从西边峡谷口进入了汉尼拔预定的战场,这一刻,汉尼拔知道大局已定,他马上通知努米比亚骑兵封锁峡谷入口,接着从三面同时发起攻击,毫不费力地就合围了罗马大军,被包围的罗马人十分的绝望,南面是湖水,另外几个方向全是早已埋伏好磨刀霍霍的敌人,而狭长的地形,使得罗马人强悍的近战能力完全没有地方发挥,战争变成了一边倒的杀戮,执政官菲拉米尼乌斯求仁得仁,力战而亡,此战罗马人仅2千人逃出包围圈,三万多人被围杀,汉尼拔仅损失2千人。
公元前217年,在特拉西梅诺湖战役之后,心高气傲的罗马人不得不承认汉尼拔是个军事天才,他们必须调整作战思路了。