至正十七年春天,吴国公朱元璋派遣耿炳文攻克长兴,三月,徐达率军攻克常州。这一年夏天,朱元璋率军攻打宁国,守军大败,元将归降。六月,朱元璋派遣赵继祖攻克江阴,秋天时,徐达攻克常熟,胡大海攻克徽州。冬天,常遇春攻克池州,缪大亨攻克扬州。
之后,义军各方相互争夺,徐寿辉的部下陈友谅夺取了池州,在至正十八年夏天占据龙兴路。五月份,刘福通攻占汴梁,将韩林儿迎入汴梁,以汴梁作为都城。这年冬天,朱元璋命令胡大海率军攻打婺州,久攻不下。朱元璋等得不耐烦,决定亲自率军攻打婺州。李善长怕朱元璋有闪失,提议:“国公,现下各位将军四处作战,本部兵将缺乏,国公亲征,固然可以鼓舞士气,然而,上阵杀敌,难免有失。高将军最近一直闲暇,不如令他作为先锋,率军先行攻打婺州,待他将敌人兵力损耗的差不多时,国公再率军攻打,必定马到功成。”朱元璋点头赞同,当即下令让高扬担任先锋,率数千兵马,与胡大海两军合于一处,共同攻打婺州。
敌人遣战车队从松溪来援救婺州守军。朱元璋闻听,冷笑:“此地道路狭窄,根本就不适合车战,敌人这是自取败亡啊。”而这时,高扬早已埋伏在敌人援军的必经之路上,等待时机,要给敌人致命一击。敌人援军在途中,被高扬不断追击袭扰,等到他们赶到婺州时,已经损折过半。
朱元璋随即命令胡德济在梅花门布下阵势,迎战敌人的战车队,敌军已经是穷弩之末,后有高扬的追兵,前有胡德济以逸待劳,如何能够脱出包围?敌人援军被击溃。婺州已被朱元璋派兵围拢起来,水源被断,城中守兵惶惶不安。婺州城中守军企图突围,三番四次出城迎战朱元璋的义军,朱元璋派人将企图脱逃的敌军分割成数股,逐一歼灭。一连数日,敌军突围的计划都被粉碎,婺州城内的元军军心涣散,再无斗志。朱元璋不想再开杀戮,毕竟两军厮杀,各有死伤。朱元璋令人向婺州城内喊话,让守军开城投降。守军早已无心再战,开城归降。朱元璋率军进入婺州城,开仓放粮,赈济贫民,改婺州为宁越府。
过了不久,朱元璋遣使招降方国珍。方国珍势力不如朱元璋,收到朱元璋的招降书之后,十分苦闷。方国珍当然不甘心屈居朱元璋之下,但情势所迫,与朱元璋作对只能自取灭亡。因此,方国珍与属下商议许久之后,终于决定归顺朱元璋。
至正十九年三月,方国珍向朱元璋献上自己的领地,将自己的儿子送到朱元璋军中,作为人质。朱元璋以为此时不宜招纳方国珍,于是遣人秘密谒见方国珍,告诉他表面上暂且独立,不必急于归顺。
四月,朱元璋派俞通海等人击溃张士诚的士兵,收复池州。朱元璋在宁越府待了一段时间,然后返回应天。之后数月之间,南方元军兵力单薄,加上中原战乱,元兵人心惶惶,毫无斗志。朱元璋趁机调兵遣将,四处征战,江左、浙右诸郡被朱元璋的义军攻克。由于朱元璋的势力范围迅速扩张,终于与陈友谅相邻。陈友谅曾从朱元璋的义军手中夺下过池州,与朱元璋部有过数次交战,双方已成仇敌,如今既已相邻,可以想见将来难免爆发大的军事冲突。