Красс пристально смотрел туда, где началось сражение. В центре враг атаковать не спешил — здесь его всадники могли действовать только на узком пространстве дороги, а пехоте пришлось бы карабкаться на холмы. План Рицимера был ясен — стремительным ударом кавалерии опрокинуть левый фланг римлян и соединиться с идущими вдоль Альмо подкреплениями. Красс не мог двинуть на помощь атакованному крылу свои стоявшие в бездействии легионы, опасаясь подставить их под удар еще остававшейся у неприятеля кавалерии, и, желая вынудить варваров к действиям, двинул вперед всех своих велитов и пять сотен критских стрелков. Рассыпавшись перед строем, они принялись обстреливать выстроившуюся в две линии пехоту врага. Заметив, что на левом фланге германцев стоят не более трех тысяч пехоты и несколько сотен всадников, Красс решил воспользоваться своим численным превосходством и отправил к Публию контубернала с приказом двинуть свои легионы вперед.
Получив приказ полководца, пятый и шестой легионы обрушились на пехоту противника. Зная о слабости своего левого фланга, Рицимер пытался остановить их удар, бросив навстречу пять сотен тяжелой кавалерии, однако Публий направил против них имевшуюся у него тысячу галльских всадников. Римская и германская кавалерия столкнулись лоб в лоб. Слабо защищенные доспехами галлы несли большие потери, но и не думали отступать. Храбрость галлов дала Публию так нужное ему время — и пехота также сошлась лицом к лицу. Варвары смело вступили в бой, но было ясно, что долго они не удержатся — у них просто не хватало людей еще больше растянуть фланги, и манипулы пятого легиона постепенно охватывали их полукольцом.
Между тем, в центре, видя, что его пехота несет потери от стрел и дротиков, Рицимер попробовал отогнать легкую пехоту несколькими сотнями кавалерии, но пространство для маневра тут было ограничено, и велиты легко отступали за строй легионеров, стоило же кавалерии отойти, как они возвращались вновь. Стремясь все же заставить варваров напасть на позицию римлян, Красс двинул на левый фланг три когорты четвертого легиона. Они начали спускаться с холма, окружая завязшую среди легионов Кассия конницу. Понимая, что если он ничего не предпримет, его правый фланг попадет в тяжелое положение, Рицимер бросил вперед всю оставшуюся у него пехоту и пятьсот всадников. Теперь у него оставалось лишь полторы тысячи отборной кавалерии, но использовать их он не мог — хотя ворота Рима все еще оставались закрыты, воины Антемия могли выйти в поле в любую минуту.
— Пора, император! — Венанций уже час смотрел на идущий под стенами бой и не понимал почему медлит Антемий.
Но император словно не слышал его.
— Здесь они справляются и без нас, а вот тот отряд, что идет к Рицимеру… Ну, а мы сделаем, то чего от нас не ждут!
Повинуясь приказу, тысяча букеллариев помчалась к Метронианским воротам.
Бой теперь кипел по всей линии римского строя. На левом фланге кавалерия варваров, потеряв пробивную силу, рубилась с двумя легионами. Ветераны Помпея понесли большие потери, но все еще оставались боеспособны. Германцы постепенно вырывались из боя, их конница начала скапливаться для нового удара, и Кассий видел опасность своего положения. Два легиона были сильно потрепаны и второго столкновения с поредевшей, но все еще грозной кавалерией им не выдержать. Он приказал им отходить за порядки остававшегося пока в резерве легиона Варгунтия, а три тысячи всадников Эгнация и Цензорина отправил через Альмо, велев им обойти противника с фланга.
В центре германцев постигла полная неудача. Их немногочисленная конница, прорвав заслон на Пренестианской дороге и опрокинув несколько манипул, столкнулась с двумя резервными когортами ветеранов. Пехота же напрасно гибла, разбиваясь о строй стоявших на холмах четвертого и третьего легионов. А поскольку у варваров не хватало сил, чтобы связать боем все когорты, Красс направил четыре из них на дорогу — и кавалерия Рицимера оказалась в ловушке, избиваемая со всех сторон.
На правом крыле окруженная пехота германцев дрогнула, мечи римлян сеяли смерть, и отдельные отряды кинулись спасаться бегством. Сразу шесть когорт пятого легиона бросились на помощь галлам, все еще продолжавшим схватку с германскими всадниками.
Судьба сражения решалась в эти мгновения. Рицимер понимал, что если он не использует сейчас свой последний резерв — левый фланг вот вот рухнет, а следом за ним и центр. Но его дружина не успела начать атаку — ворота Рима открылись и из них хлынула тысяча всадников императорской гвардии, впереди в блестящих доспехах скакал сам император. Рицимер был принужден развернуться, и тяжелая конница столкнулась друг с другом.
Завидев идущую к ним на помощь пехоту Одоакра, командир правого крыла германцев немедленно навалился на сомкнутый строй XXV легиона, стремясь расстроить ряды и расчистить дорогу своей пехоте, однако он просчитался. Едва отряд Одоакра появился на поле, со стороны Метронианских ворот послышался топот копыт и клич: «За императора!». Выставив длинные копья, лучшие воины Антемия врезались в тыл германцев. Не успев толком развернуться к новому врагу, пять тысяч варваров пришли в расстройство и тут с фланга на них обрушилась обошедшая их римская кавалерия.
В течение получаса все было кончено. Легионеры Публия добили противостоявшую им пехоту и навалились на центр. Варвары оказались в полном окружении. Сражавшиеся в центре бросали оружие, сдаваясь на милость победителей. Рассеянная пехота Одоакра частью тоже сдалась, частью рассеялась по равнине, преследуемая римскими всадниками. Четвертый легион Красса стремительно спустившись с холма обрушился на все еще сражавшиеся остатки варварской конницы. Понимая, что им остается бежать или умереть здесь, уцелевшие германцы пошли на прорыв. Вырваться из кольца удалось лишь двум сотням.