Римљани су били изненађени да су се Картагињани одлучили на бој и да су изашли на отворено поље. Ксантип је испред своје војске развио слонове у једној линији, а иза њих је распоредио фалангу градске милиције. Најамничку пешадију распоредио је на десној страни, а елитну коњицу поставио је на крила. Римљани су испред легија распоредили велите, а на крилима коњицу. Одмах на почетку битке бројчано надмоћнија картагињанска коњица растерала је римску коњицу. Напад слонова је блокирао римску пешадију. Слонови су газили прве редове римских легија, али главнина војске била је поштеђена од слонова због велике дубине римских редова. Међутим картагињанска коњица их је опколила са свих страна и нападала. Битку код Туниса преживело је само 2.000 римских војника, који су након победе над најамницима изашли из битке. Остали су или погинули или заробљени. Око 500 њих је заробљено заједно са Марком Атилијем Регулом.