W pierwszej linii, pośrodku wojsk rzymskich walczył Sangiban. Attyla zauważył go i przypuścił na niego atak. Aecjusz nie ruszył swoich odwodów, pozbywając się tym samym niewygodnego sojusznika. Sangiban zginął, zaś centrum wojsk rzymskich słabło. Jednocześnie na prawym skrzydle Attyli walczyli Ostrogoci z Wizygotami. Wizygoci zaczęli cofać się, za nimi ruszyli Ostrogoci oddalając się od Attyli. Jednak odwrót Wizygotów był pozorowany. Ostrogoci zostali odciągnięci od głównych sił i wtedy na ich flance pojawiła się ciężka jazda Teoderyka. Bitwa była bardzo zacięta i krwawa. Historycy rzymscy mówią o stu siedemdziesięciu tysiącach zabitych. Liczba ta najprawdopodobniej jest przesadzona; nie zmienia to jednak faktu, że była to jedna z największych bitew starożytności.
Szarża Teoderyka uratowała Rzymian. Hunowie, nie mając możliwości obrony, w panice wycofali się. Mimo zwycięstwa Aecjusz pozwolił Hunom się wycofać. Nie zniszczył ich, choć miał ku temu okazję. W czasie zwycięskiego ataku Teoderyk zginął. Według jednej z wersji spadł z konia, inna mówi o tym, że został ugodzony oszczepem przez Andaga, jednego z wodzów Ostrogotów. W praktyce dzięki Teoderykowi Aecjusz wygrał bitwę i nie dopuścił do marszu Attyli na Rzym.