Napoleon měl na své straně pouze 10 000 vojáků a musel čekat na posily, měl však výhodné postavení na vyvýšeném místě a na rozdíl od Rakušanů dělostřelectvo a jezdectvo. 14. ledna zútočilo na Francouze 27 000 Rakušanů, pomalu se blížily francouzské posily. Střed odolával, zato francouzské levé křídlo zvolna umdlévalo. Francouzská armáda se ocitla v nebezpečí, že ji nepřítel obklíčí a nebude úniku. Bonaparte volil přejít do protiútoku, kolem deváté hodiny se o to pokusil Masséna podporovaný Lasallovou jízdou a vnesl zmatek do rakouských řad. Masséna vydržil s muži, které měl, až do večera a odolal velké početní přesile. Mezitím dorazila po proudu řeky Adige rakouská kolona. Posléze uhodila na Francouze zprava. Jezdectvo zahájilo společně s pěchotou palbu z bezprostřední blízkosti, Rakušané začali prchat a v nastalém chaosu do sebe vrážejí a řítí se do rokle. Ve 13 hodin se pilíř rakouské armády rozpadl. Lasalle a Leclerc v čele husarů dokončili práci a Francie zvítězila. Toho dne sehrál důležitou roli Masséna, císař si na to později vzpomene a jmenuje ho vévodou z Rivoli. Díky této bitvě Napoleon dobyl Mantovu, čímž si otevřel cestu na Vídeň a Rakušané byli nuceni zahájit jednání o míru.