陈友谅的进军路线明白了,军力分配也清楚了。元璋一面调胡大海进取广信(今江西上饶),捣友谅的后路,一面按友谅进军路线,设下埋伏。连夜把江东木桥改成石桥,一切准备停当,只等友谅自投罗网。
元璋亲自在山顶指挥,规定信号,发现敌人举红旗,伏兵出击举黄旗。友谅兴冲冲赶到江东桥,一看是大石桥,就觉得不对头,再使劲连喊"老康",嗓子都哑了无人答应。山上黄旗招展,四周伏兵齐声呐喊,团团围住,在山上打,在水里打,这一仗把友谅的主力全部歼灭,杀死淹死不计其数,单俘虏就是两万多。元璋军乘胜收复太平,下安庆,取信州(上饶),袁州(宜春)。
龙凤七年(元至正二十一年,公元1361年)正月,小明王封元璋为吴国公。
友谅吃了败仗,不服输,七月间又遣将攻下安庆。元璋气极,开了一个军事会议,决定溯江西伐。龙骧巨舰上建立大旗,写着"吊民伐罪,纳顺招降"八个大字。
友谅为人忌能护短,从杀徐寿辉后,寿辉的将帅不服,纷纷投降元璋。部下骁将双刀赵(普胜)又被元璋使反间计,友谅一怒把他杀了,其他将官兔死狐悲,不肯出死力作战。元璋研究敌情,断定趁友谅将帅不安,军心离散,大举进攻,要比等着被攻有利。于是亲自统军顺风溯流,一鼓攻下安庆、江州,守将丁普郎、傅友德全军归附。友谅逃奔武昌,江西州县和湖北东南角,都归元璋版图。一个扩大,一个缩小,几年来的局面,完全转过来,元璋的兵力已经可以和友谅一决雌雄了。
当江南朱陈两军血战正酣的时候,江北的军事局面也起了极大的变化,红军接连失败,形势很危急。元朝大将察罕帖木儿收复关、陇,平定山东,招降红军丞相花马王田丰,军威极盛。--几年来山东在宋朝大帅毛贵管治下,礼贤下士,开辟田土,治绩斐然。原来的濠州的赵均用和彭早住,驻军淮泗一带,早住病死,均用北上和毛贵合夥。二人作风不同,大闹意见,均用杀了毛贵,毛贵部将又杀了均用。杀来杀去,军力衰减,造成察罕的胜利机会。--山东失去后,不惟小明王的都城安丰保不住,连元璋的根本重地应天也岌岌可危。元璋几年来的安定和发展,全靠小明王大军在北边掩护,隔离元朝主力,如今局面突变,要直接和元朝大军接触,估计军力对比,相差太远,实在抵挡不住。两次派代表去见察罕,送上重礼和亲笔信,要求通好,预伏一笔,以为将来地步。这时察罕正在围攻益都(今山东益都),红军奋死抵抗,元璋料益都一时不致失陷,察罕在肃清山东之前还没有余力来进攻安丰,才敢趁这间隙,西攻陈友谅。察罕的代表户部尚书张昶带了御酒,八宝顶帽,和任命元璋为荣禄大夫江西等处行中书省平章政事的宣命诏书,于龙凤八年(元至正二十二年,公元1362年)十二月由江西到应天。其时察罕已被田丰刺杀,子扩廓帖木儿继为统帅。不久又得到情报,扩廓和另一大将孛罗帖木儿在抢地盘,打得正热闹,眼见得元军不会南伐了,越发定下心,断了投降的念头,仍然作宋朝的吴国公。