至正二十三年正月,张士诚遣其弟士信率大兵围攻韩林儿、刘福通的根据地安丰。当时朱元璋在名义上奉韩林儿的龙凤年号,因而决定亲率徐达等渡江北上支援。然而此时陈友谅却乘虚而入,大举向洪都反扑,气势汹汹,吉安、临江、无为等州府,数月之中,竟被陈友谅所攻陷。朱元璋不得不挥师回击,双方决战于鄱阳湖。在这次决战中,徐达又立了大功,在激战中,徐达战船着火,但他毫不畏惧,一面指挥灭火,一面坚持战斗,终于挫败了陈友谅的猛烈进攻。经此一战,朱元璋对战胜陈友谅已充满了信心,同时为了严防张士诚乘虚偷袭后方,便把留守应天的重任交给了徐达,朱元璋对徐达办的事是绝对放心的。徐达回到应天,兢兢业业,恪尽职守。张士诚见无隙可乘也不敢轻举妄动,因而使朱元璋解除了后顾之忧,得以全力对付陈友谅。朱元璋在与陈友谅决战中,虽然几经艰险,但最后还是取得了鄱阳决战的胜利,不仅全歼陈友谅的60万大军,而且杀死了陈友谅。不久,徐达奉调回到西线,迫使陈友谅之次子陈理献出武昌归降,并进而攻取了江陵、辰州、衡州、宝庆诸路。陈友谅的残余势力既被肃清,朱元璋的势力范围也扩展到湖北、湖南。至正二十四年正月,朱元璋在应天即吴王位,建置百官,设中书省,徐达以卓越功勋任左相国之职。从此,徐达“出将入相”,在军事与政治两个方面,都发挥着越来越重要的作用。
陈友谅被消灭以后,朱元璋的下一个战略目标自然是东灭张士诚了。至正二十五年十月,徐达被委任为总兵官,率水陆大军东征。徐达针对张士诚辖境南北狭长2000余里,中隔长江,江北守备力量相对薄弱的实际情况,确定了“先取通、泰诸郡,剪其羽翼”,然后专事浙西的战略方针,迅速渡江北上。徐军首先攻下苏北重镇泰州。进围兴化和高邮,这样就使张士诚陷入了南北隔绝的困境。张士诚当然不甘心坐以待毙,他从江南出击宜兴,以牵制徐达在江北攻势。然而徐达审时度势审时度势:仔细研究时机,估计发展趋势。,进据都慎重考虑,予以取舍,在回师宜兴击溃张士诚军后,继续向江北挺进,并于次年三、四月间攻下高邮、淮安、兴化。徐达还奉命破安丰,俘元将忻都,再战徐州,俘斩元兵万计。至此,徐达仅用了半年左右的时间,不仅完成了攻取江北,剪除张士诚羽翼的任务,而且打通东控齐鲁、北进中原的通道。
同年七月,朱元璋与李善长、徐达等一起商议讨伐张士诚的大计。左相国李善长认为张氏虽然战败但兵力未太受到损失,应该伺机出击。但徐达久经战阵,对张士诚的虚实了如指掌,他反对这种坐失战机的保守决策,认为应该快速进军。徐达的意见非常适合朱元璋的意愿,他遂即任命徐达为大将军,率师二十万讨伐张士诚。
徐达还是从“剪其羽翼”的战略出发,首先攻打太湖南岸的湖州,把吕珍的六万援军阻击于城东之旧馆,紧接着又分兵击败张士诚以及徐志坚所率的援军于皂林和姑嫂桥,俘获志坚及兵众三千余人,迫使吕珍等于十一月献出了湖州。把湖州占领以后,徐达引兵北上,于当月包围了张士诚的大本营平江。在围城期间,徐达每遇大事均事先向朱元璋请示。徐达得到朱元璋复书后,便檄(xí)令各路大军,向平江城发动总功击。张士诚内无粮草,外无援兵,曾先后两次拼死突围,但都被徐军杀回。至正二十七年九月,徐达首先攻破葑门,常遇春亦攻入阊门,平江遂克。张士诚力尽被俘,送应天后自缢而死。当徐达大捷凯旋回到应天时,朱元璋亲到城门论功行赏,徐达晋封为信国公,并迁右丞相。
灭元大功徐氏居首至正二十七年十月,朱元璋任命徐达为征讨大将军,常遇春为副将军,率领25万人马北伐中原。
当时徐达和常遇春虽同属朱元璋所器重的名将,但在朱元璋心目中,徐达还是要胜出一筹的,在“长于谋略”和“严于律军”方面尤其如此。
徐达从淮安挺进山东。首先攻克沂、莒、密、海诸州,分兵扼守古黄河要道,阻敌增援。主力部队继续北上,于十一月攻克山东重镇益都以及临淄、寿光等州县。十二月,济南及登、莱守将献城,山东全境平定。
元至正二十八年正月,朱元璋在应天正式即皇帝位,国号明,建元洪武,徐达以“首功”被封为右丞相兼太子少傅。同年三月,北伐进到了第二阶段,徐达率水陆大军,溯河南上,进军河南,攻克永城、归德、许州,汴梁守将左君弼献城降。四月,明军自虎牢关直趋偃师、洛阳。洛水一战,元兵损失惨重,洛阳守将李克彝(yí)弃城逃往陕西,梁王阿鲁温开门迎降。五月,潼关守将张思道亦战败西奔。至此,灭元是指日可待的了。
同年闰七月,徐达从河阴、渡黄河北上,分兵攻取了卫辉、彰德,磁州,并在临清与山东诸路大军会合,沿运河继续向北挺进,迅速攻下德州、长芦、直沽,并攻占了元都外围的重要战略据点通州。元顺帝闻讯后,知元都已无法保住,遂于闰七月二十七日深夜仓皇逃跑,北逃上都开平。徐达于八月初二率军从齐化门进入元都,除监国淮王帖木儿不花等因顽抗被杀外,其余不滥戮一人,徐达治军之严明,由此也可以看出。明军进入大都,改元大都为北平府。元王朝的统治,终于被推翻了。这样,北伐的第三阶段直趋元都的战略任务,在不到1个月的时间里便胜利完成了。
徐达一生南征北战,冲锋陷阵,打了不少胜仗,一个农家出身的孩子为什么能够具有如此良好的军事素养呢?
首先徐达勤奋好学。他因家境贫寒,从小便失去了上学读书的机会,但徐达并没有甘于现状,与此相反,更激发了他的求知欲。平时打仗当然是非常紧张激烈的,但他仍千方百计创造条件抓紧学习,熟知我国古代兵法,掌握了渊博的军事知识,从而使自己逐步成长为杰出的帅才,就是他学习的结果。
其次是严于律己。他治军严明,“令出不二”的治军作风和他严于律己紧密不可分。徐达深深懂得,如果将帅不以身作则,作出好榜样,兵是很难带好的,也是难以激励士气的。所以他时时、事事、处处对自己的要求极严,在生活上参与部卒同甘共苦,因而深得军心,真正做到了令行禁止,所向克捷。他的地位虽然是愈来愈高,但对自己的要求和约束也愈来愈严,从不居功自傲,放纵自己。
徐达为人正直,嫉恶如仇。洪武六年胡惟庸出任中书省丞相,他专横霸道,招财纳贿。看到徐达功高望重,想结好他,借以壮大自己在朝中的势力。但徐达鄙薄胡的为人,不屑与之为伍,并揭发了胡惟庸的阴谋,指出胡惟庸心邪术诈,既贪奸又阴险,不宜委以丞相的重任。没过几年,胡惟庸的罪行充分暴露后,被朱元璋罢职处死。
徐达虽然有功于朝廷,但他从不居功自傲。徐达一生九佩大将军印,削平群雄,安定天下,立盖世功,但他还是始终恭谨自恃,敬遵礼制。在建国后,他并没有脱离戎马生涯,曾三次挥师塞北平虏,其余大部分时间镇守北平,在那里整饬城防,操练兵马,屯田积谷,做到常备不懈,使北方边防日益巩固。他与朱元璋的关系虽素有“布衣兄弟”之称,但他从不因此忘形放肆,相反,更是恭敬有加。有一次,朱元璋要将朱元璋称吴王时所居王宫赐给他住,但徐达不愿逾制,坚持不受。朱元璋便在旧邸设宴款待徐达,“强饮之醉,而蒙之被使卧床就寝”。徐达醒后,发觉自己睡在朱元璋过去睡过的龙床上,不禁大惊失色,急忙下床,伏阶下,连称“死罪!”
洪武十七年,徐达在北平背生疽(jū)。朱元璋对他的病情非常担忧,马上派徐达长子徐辉祖持敕前往慰问,并将徐达接回南京治疗。但徐达的疽疾仍继续恶化,于洪武十八年二月七日病逝,终年54岁。朱元璋惊闻噩耗悲恸不已,为之辍朝,亲临哭奠,追封徐达为中山王,谥号“武宁”,赠子孙三世皆王爵,赐葬钟山之北,并亲自撰写神道碑文,以纪徐达的丰功伟绩。