실라루스 전투는 기원전 212년 카르타고의 한니발 바르카가 로마의 법무관 마르쿠스 켄테니우스 페눌라가 이끄는 군대를 궤멸시킨 전투이다. 이 전투에서 카르타고군은 로마군을 기습하여 거의 전멸시키는데 성공했다. 이 전투는 한니발이 적보다 많은 군대를 이끌었던 몇 안되는 전투 중 하나이다.
한니발은 카푸아 전투에서 두 집정관의 군대를 격파한 이후 카푸아의 포위를 풀었다. 로마군 집정관들은 그들의 군대를 나누었는데, 플라비우스 플라쿠스는 쿠마이로 향하였으며, 아필리우스 클라디우스는 루카니아로 이동하였다. 그들이 그렇게 한 이유는 정확하지 않으나, 아마 전투 후 잃은 병사들을 제하더라도 여전히 한니발군보다 수적우위에 있었기 때문이라 여겨진다. 한니발은 클라디우스를 추적하기로 결심하였다.
클라디우스는 한니발의 추적을 피하려고 했으나, 법무관 마르쿠스 켄테니우스는 로마 원로원에게 한니발에 대항하기 위해 자신에게 독립적인 지휘관을 달라고 했고, 캄파니아 지방에 대한 자신의 지식이 카르타고인들을 물리치는데 큰 도움이 될 것이라고 말하였다. 칸나이 전투에서 쳐발린걸 금새 잊어먹은로마 원로원 의원들의 자신감은 끝이 없고 같은 실수를 반복한다 병크로 이것이 받아들여졌고 8000명의 병사들이 켄테니우스에게 소속되었다. 또한 여기에 캄파니아, 루카니아 그리고 삼니움으로부터 온 8000명의 지원병들이 더해졌다. 아피우스 클라디우스와 집정관군이 다른 집정관군과 연합하기 위해 서쪽으로 진군하는 사이, 켄티니우스는 한니발을 추적하기로 결심하였다.간이 부었다
켄테니우스는 용감한 군인이긴 하였으나 장군으로써의 역량은 한참 부족하였다. 리비우스에 의하면, 켄테니우스는 카르타고군의 행방에 대해서 아무런 생각이 없었다!
한니발의 정찰병들은 로마인들이 뭔가 감을 잡기도 전에 로마 군대의 위치를 찾을 수 있었다. 켄테니우스의 군대는 한니발에 의해서 기습당했고, 대파당했다. 자신들의 에트루리아 동맹군들이 공포에 질려 달아났다는 사실에 의해 로마군의 상황은 더욱 악화되었으며 한니발은 잔존 로마군들을 포위하고 그들을 죄다 학살해버렸다. 한니발은 전사한 켄테니우스의 손가락에서 반지를 꺼내어 그의 이름으로 명령을 내리려 했지만(당시 로마인들의 반지는 도장 역할도 겸하였다) 아무런 성과를 거두지 못했다.
다시 한번 로마인들은 한니발의 항복요청을 거부해 그들의 기개를 보여주었지만, 한니발은 여전히 이탈리아 땅에서 무적으로 남아있었다. 사상자의 측면에서 보았을 때 실라루스 전투는 칸나이 전투 다음으로 한니발이 가장 많은 로마군을 척살한 전투이다. 16000명의 로마군 중에서 불과 1000명만이 살아남았고 나머지 15000명은 모두 살육당했다. 카르타고군의 피해는 전해지지 않지만, 극히 미미했다고 한다. 그리고 이 전투에서 살아남은 생존자들은 칸나이 전투 생존자들로 구성된 군단으로 보내졌다.