Przebieg bitwy Galowie podzielili swoje siły. Przeciwko armii Papusa ustawili Gesatów i Insubrów, a przeciw armii Regulusa Taurysków i Bojów. Bitwa zaczęła się od potyczki na pobliskim wzgórzu, na które została wysłana kawaleria Papusa w celu wsparcia walczących z Galami oddziałów Regulusa. Wzięci w dwa ognie wojownicy galijscy przebili się z pułapki i dotarli do szyku Taurysków i Bojów. W potyczce tej zginął konsul Regulus, którego głowa została dostarczona galijskim królom.

Starcie rozpoczęło się od obrzucenia szeregów galijskich oszczepami przez lekkozbrojnych welitów, co spowodowało wśród nieopancerzonych Gesatów straty i wywołało panikę. Część z nich uciekła na tyły, inni zaatakowali w szale szeregi rzymskie, ponosząc kompletną klęskę. Następnie do szeregów galijskich zbliżyły się manipuły rzymskie i wdały się w walkę z nimi. W tym czasie kawaleria rzymska uderzyła z flanki, co przesądziło o klęsce Galów i prawie całkowitym zniszczeniu ich armii. Galowie stracili 40 tysięcy zabitych i 10 tysięcy jeńców, spore też musiały być straty Rzymian. Aneroest uciekł z miejsca bitwy i popełnił samobójstwo, a Konkolitanos wpadł w niewolę.