Tak doszło do trzydniowej, zaciekłej bitwy, nieopodal miejsca gdzie dwa tysiące lat temu Hannibal rozbił rzymskie legiony.
W godzinach popołudniowych doszło do spotkania Rosjan ze strażami przednimi Francuzów nad rzeką Tidone. Po ciężkich walkach Macdonald został odepchnięty w kierunku Trebbi. Suworow nie ustępował jednak i 18 czerwca uderzył ponownie, spychając stawiające zacięty opór główne siły francuskie na prawy brzeg rzeki. Rankiem 19 czerwca Macdonald rozpoczął przeciwnatarcie, forsując rzekę ponownie, jednak po całym dniu wyczerpujących walk musiał zrezygnować i zawrócił na drugi brzeg Trebbi. Bijąca się na lewym skrzydle francuskim, a potem osłaniająca jego odwrót 1. Legia Polska generała Jana Henryka Dąbrowskiego została dosłownie zdziesiątkowana – z jej 5 batalionów piechoty ocalały tylko dwa oraz batalion lansjerów. Uświadomiwszy sobie rozmiary wykrwawienia armii (aż 9 500 poległych i rannych oraz 7 000 jeńców) oraz świadom zagrożenia swoich tyłów przez Austriaków, których dywizje wdarły się do Parmy i Modeny, około północy przerwał bitwę i rozpoczął pospieszny odwrót na południe Italii w Apeniny. Suworow również był osłabiony - stracił 6 000 poległych i rannych Rosjan i Austriaków. Zrezygnował zatem z wznowienia bitwy w dniu 20 czerwca i zawrócił w stronę Tortony.