5月23日,拿破仑亲自来到一处可以俯瞰巴尔德堡炮台的高地,埋伏在灌木丛中,仔细观察炮台。很快他便指出进攻部队的几个错误,还命令在他指示的地方建立新的炮台,并说在新炮台向堡垒发炮就可以取胜。6月1日,法军按照拿破仑的指示攻堡,巴尔德堡终于投降。
法军主力终于走出阿尔卑斯山区,皮埃蒙特平原就在眼前。现在拿破仑有三个作战方案可供选择:一是主力直逼热那亚,以解马塞纳之围。这可以吸引奥军主力回救,并可能合击奥军而取得胜利,也顾全了与部下的关系。但奥军有可能退守待援,致使战事拖长,艰苦的大迂回起不到应有的作用。二是主力进逼都灵,与杜劳军会合,寻找机会攻击奥军主力。但对解马塞纳之围无济于事,且难形成战略包围之势。三是主力直取米兰与蒙塞部会合,迂回奥军背后,切断联络线,形成战略包围。但局部将受损失,热那亚的马塞纳部不得不被放弃。拿破仑权衡再三,决定采取最后一种作战方案。
这时,一份急报送到拿破仑手中:敌人仍在围攻热那亚,并不断加强炮击,热那亚危在旦夕。要向该地进军,则一分钟也不能浪费。拿破仑将这份急报弃之一旁,随即分派各部大军去占领指定地点;拉纳军团进逼都灵,掩护主力右翼,并夺取波河上的渡河点。缪拉进占波河南面的皮亚琴察,以切断奥军退却线。主力则直趋米兰。
奥军主将梅拉斯直到5月底确信拿破仑已率军横越阿尔卑斯山,而且法军的数目要比他想象的多得多,并且出现在他意想之外的地点和方向,这个消息使他非常惊慌。梅拉斯判断法主力会南下都灵,便留下奥特部继续围攻热那亚,自己率主力北进都灵。这时拉纳军正好南下,梅拉斯为自己的“正确判断”庆幸不已,决定停留待敌。不久,传来急报,说法军主力已进占米兰,梅拉斯这才大呼上当,立刻在亚历山大里亚集中兵力,准备迎战法军。
热那亚的马赛军已经危在旦夕,由于得不到支援,现在已经是弹尽粮绝,不得不同奥将奥特谈判,以“率守兵全部,不解除武装”为条件,退出该城。奥特留兵一部据守热那亚,余军向亚历山大里亚挺进。途中又奉命改向皮亚琴察,以确保波河渡口。
6月7日,拉纳和缪拉的部队分别渡过波河,向亚历山大里亚前进。6月8日,占领斯特拉德拉西面的伏赫拉。6月9日,在芒泰贝洛附近,法奥二军展开了长达9小时的恶战。拉纳击败了前去占领皮亚琴察渡口的奥特军。
同一天,拿破仑离开米兰。次日,同贝尔蒂埃一起渡过波河,抵达斯特拉德拉。在这里,拿破仑组织司令部,调整战斗兵力,准备迎接大会战。
这时,狄舍将军从埃及回到了法国,拿破仑得知这个消息之后惊喜万分。他命令狄舍将军速来意大利前线报到。6月11日上午,狄舍将军赶到斯特拉德拉。拿破仑以最和善的态度接见了他。狄舍将军是位能征惯战的勇将,尤其是在1798年的上尼罗河谷战役中表现极佳。虽然拿破仑对一些战功卓著的将领有些猜忌之心,怕他们怀有野心与自己分庭抗礼,但狄舍将军从未使他不安,他太了解狄舍的才能和品格。狄舍谦逊没有架子,既坚定又和气,心中毫无任何野心和追求政治权力的想法。拿破仑当他是最忠心的人,两人的友情达到热烈的程度。
6月12日,法军进抵斯克里维亚河,他们并没有遇到奥军,也没有遇到任何抵抗。这时的拿破仑对奥军的真实企图和确切位置一无所知。拿破仑在6月13日中午将法军的预备队分为两个部分,其中莫尼尔师和拉波普师继续留在原地,充当主力的预备队;狄舍师向南搜索,切断亚历山大里亚至热那亚的道路。
终于在13日下午,法军左翼先头部队加尔达师在亚历山大里亚东南5公里处的马伦哥附近与奥军相遇,经过8小时的激烈战斗,奥军支持不住,丢下了几百名战俘和两门大炮,向亚历山大里亚退却。由于天色已晚,敌情不明,法军停止了前进。
拿破仑在天黑之前赶到了马伦哥。但这时他还不能最后断定梅拉斯的真实意图,他担心奥军会随时向兵力分散的法军发动突然进攻。于是,他命令加尔达立即查明马伦哥西面的博尔米达河上的桥梁情况。没过多久,侦察兵回来报告说:博尔米达河上只有一座桥梁,而且已被奥军彻底破坏。这一情报使拿破仑坚定了先前的判断,认为梅拉斯已经彻底放弃北渡波河决战的企图,准备向南撤往热那亚。因此,不待各军集中靠近,便下令就地宿营,维克托军团孤立地驻扎在马伦哥村。
这天夜里,马伦哥平原上死一般地寂静,这使拿破仑产生了一个错觉,以为梅拉斯已经溜之大吉了。于是,他在14日清晨命担任预备队的拉波普师渡过波河,向瓦伦察方向搜索,以阻止奥军逃窜;同时又派人通知狄舍,令他继续南进,查明奥军去向。然而,就在这个时候,一场酝酿成熟的大战突然爆发了,拿破仑万万没有想到由于自己的判断错误,差点导致法军彻底失败。
6月14日上午9时,驻在亚历山大里亚的奥军倾巢出动,像潮水般地涌过了博尔米达河。河上的桥梁不仅没有破坏,而且又出现了两座新浮桥。三路奥军并驾齐驱,锐不可当,直扑法军阵地,很快把法军前卫逼退到马伦哥。马伦哥的维克托军团9000人受到奥军31000人、100门炮的猛烈攻击,情况万分危急。拿破仑从激烈的炮声中得知奥军发起了进攻,大吃一惊,他下令维克托死守马伦哥,同时派克勒曼的重骑兵旅和拉纳军团从左右两翼赴援马伦哥。他还急令已经南下的狄舍师迅速回援。
维克托军团凭借博尔米达河支流顽强抗击着奥军优势兵力的猛烈进攻,暂时阻挡住奥军的前进。拉纳的先头部队抵达右翼,受到奥特部的攻击,陷入苦战。左翼的克勒曼重骑兵旅经过一番激战,挡住了奥骑兵的攻击。上午10时,奥军再次倾全力展开进攻,法军力不能挡,节节败退。11时,拿破仑亲赴战场,见情况危急,当即派他的800名骑兵卫队前去支援拉纳,自己则率半个旅亲自参加右翼战斗。同时,他还将唯一可供使用的预备队投入了战斗。
奥军主将梅拉斯虽年迈70,但毫不示弱。他亲临战场,所乘战马连续两匹被炮弹击毙,仍挥军猛击,终于攻下了马伦哥。法军虽然有四次反击,并且一度夺回阵地,但因寡不敌众,最后忍痛放弃马伦哥。下午2时,维克托军团溃散,拉纳军团亦作有秩序撤退,平原上布满了法军的尸体。整个部队一片混乱,许多人恐慌地呼喊:一切全失败了。
面对败局,拿破仑极为镇定,他坚信战斗远未结束,如果狄舍的部队能火速返回马伦哥,法军仍有获胜希望。他抱着这种信念,一再强调必须坚持下去,任何人不得继续后退。溃败的法军与奥军的追击部队苦苦地战斗着。下午5时,正当法军接近崩溃的时刻,狄舍将军率领他的部队赶到了。拿破仑大喜,他在马背上与贝尔蒂埃、狄舍匆匆会商了一番,决定由退却转为攻击。
法军的反击开始了。狄舍带来的13门炮和原剩的5门炮集中在一起,朝敌人猛烈轰击。奥军没料到溃败的法军还有这样一手,顿时队形大乱。狄舍乘此时机,率领隐蔽在山后的法军猛扑过去,犹如一股势不可挡的洪流,奥军大惊失色,纷纷逃散。狄舍将军,这位有胆有识的猛将冲在最前面,突然一颗子弹飞来,正中狄舍的心房,这位勇将当场阵亡。长官之死,激起了法军的愤怒,法军冲击更加猛烈,炮火更加密集,克勒曼将军的800名重骑兵也勇敢地冲向敌军的左翼和中央。不到半个小时,奥军便由一支神气十足的胜利之师变为狼狈逃窜的乌合之众,他们有的被霰弹击中,当场毙命;有的被马刀砍倒,血肉横飞;更多的则是成批成批地跪在地上,举手投降。奥军这个突然的失败,马上导致全线溃退,他们被迫放弃了马伦哥,继而涌向博尔米达河,争相逃命。法军抓住战机,一鼓作气,把奥军赶过河去。直到夜幕降临,法军才停止追击。
马伦哥一战,法军反败为胜,可付出的代价是高昂的,法军伤亡约6000人。拿破仑在这个平生最大的凯旋之一的晚上,愁眉不展,他对狄舍将军的阵亡感到深切的悲痛,他含泪说道:“法国刚刚失去了一位最优秀的卫士,我失去了一位最好的朋友,谁也不理解狄舍那可贵的心地和天才的思想。如果今天能拥抱狄舍,那该有多好啊!”
6月15日上午,梅拉斯见大势已去,派出使节向拿破仑求和。双方在亚历山大里亚达成协议:奥军退到明乔河以东地区,河西地区包括堡垒等一切军事设施全部让与法军。双方还同意在明乔河以西地区设立一个非军事地带以隔开法奥两国兵力,双方停止敌对行动直到签订和约为止。梅拉斯的残余部队平安地撤到了曼图亚的后方。
1800年7月2日凌晨2时,拿破仑一行抵达巴黎。天亮以后,第一执政凯旋的消息传遍京城,全体市民涌上大街,争相看一眼法兰西的救星和意大利的解放者。巴黎人民一致认为马伦哥战役的胜利不仅是法兰西共和国对欧洲反法联盟的胜利,而且也是新政权对保皇党人的胜利。法兰西人民对以拿破仑为首的新政权充满了美好的希望。