Austriacka kolumna szturmowa przez 20 minut ostrzeliwana była ogniem dział Marmonta, po czym do ataku ruszyła dywizja Desaixa. Marmont podciągnął czterodziałową baterię, by wesprzeć atak i bezustannie kartaczował Austriaków, powstrzymując chwiejące się momentami oddziały Desaixa. Na domiar wszystkiego w szeregach Austriaków wybuchł jaszcz amunicyjny, co wywołało zamieszanie w ich szeregach. W tym momencie piechota Desaixa poderwała się do szturmu, a jednocześnie ciężka kawaleria Kellermana w sile około 400 ludzi ruszyła do szarży. Wkrótce kolumna austriacka przestała istnieć, a dowodzący nią generał Zach, któremu Melas zdał dowództwo nad całą armią, dostał się do niewoli. Około 18 było właściwie po bitwie, choć walki przeciągnęły się do godziny 22, gdy Austriacy pod dowództwem generała Otto wycofali się za Bormidę.

Austriacy według starszych danych mieli stracić 15 sztandarów, 40 armat, aż 6000 zabitych i 8000 jeńców. Straty francuskie wyniosły do 7000 zabitych i rannych. Jednak według współczesnych źródeł zginęło 963 Austriaków, rannych było 5518, wziętych do niewoli 2921, natomiast francuzów - 1000 zabitych, 3600 rannych, 900 wziętych do niewoli lub zaginionych.