元至正十六年(公元1356年)十月,曾和郭子兴、朱元璋同驻濠州的赵均用攻下淮安,自此被刘福通纳入麾下,接受龙凤政权的号令。龙凤政权在淮安设立行中书省,任命赵均用为平章政事。
毛贵原是赵均用的部下,曾跟随赵均用从徐州逃到濠州,离开濠州后,又跟随赵均用四处征战。赵均用归顺龙凤政权后,毛贵开始直接听从刘福通的调遣,逐渐成长为龙凤政权的著名将领。
元至正十七年(公元1357年)二月,毛贵攻下胶州;三月,相继攻占莱州、益都路、滨州;四月攻取莒州。
同年六月,刘福通把军队分成东路、中路、西路,开始北伐,毛贵负责率领东路军。
同年十二月,赵均用自称永义王。义兵千户余宝投降毛贵,占据棣州。
三路北伐军分道出击,刘福通则亲自率军攻打汴梁(今河南开封),次年五月,刘福通趁汴梁发生饥荒之际,攻取汴梁,然后把小明王韩林儿从安丰接来,龙凤政权从此迁都汴梁。
元至正十八年(公元1358年)二月,毛贵攻下清、沧州,然后占领长芦镇,不久又攻克济南路。
毛贵设立宾兴院,“选用元故官姬宗周等分守诸路”(《明史·列传·韩林儿》)。为满足军需,毛贵开始推行屯田,在莱州立三百六十屯,每屯间隔三十里,还制造百辆大车作为运粮工具,同时对官民田按“十止收二分”的标准征收税粮。屯田收获的粮食和税粮一起运往前方供给军需,冬天走陆路,夏天则走水路。
通过采取一系列的措施,毛贵对山东的占有得以巩固,从此山东地区一直在毛贵的掌控之中,形成对都城汴梁的有力拱卫 ,直到元至正十九年(公元1359年)四月毛贵被赵均用杀害。
接着,毛贵继续引兵北上。元至正十八年(公元1358年)三月,毛贵攻入般阳路,不久又占领蓟州,元顺帝大惊失色,急忙下诏征调各地兵马保卫大都,“诏征四方兵入卫”(《明史·列传·韩林儿》)。
毛贵接着进攻漷州,到达枣林,又攻下柳林,直逼大都,元廷震动,一片慌乱,元顺帝想迁都以避其锋芒,被大臣谏阻。由于后援不济,不久毛贵被元军击败,退守济南。
中路和西路北伐军攻下城池之后,没有采取巩固措施,更没有形成稳固的基地,往往不久便被元军夺回,陷入孤军深入,没有退路,没有后援的困境,在流动作战中逐渐消耗力量。只有山东地区,在毛贵的用心经营下,成为都城汴梁的坚固屏障。
然而,元至正十九年(公元1359年)毛贵被年初投奔山东的赵均用杀害,东路北伐军陷入混乱。五月,元将察罕帖木儿趁机进攻龙凤政权的都城汴梁。七月,毛贵部下续继祖从辽阳回师杀赵均用,随后又和赵均用的部下相互仇杀,形势急转直下。八月,汴梁被元军攻占,小明王韩林儿在刘福通的保护下逃到安丰,“后宫官属子女及符玺印章宝货尽没于察罕”(《明史·列传·韩林儿》)。
朱元璋虽然实际上不受龙凤政权的控制,但在军中使用龙凤年号,名义上仍是小明王的下属。元至正十六年(公元1356年)三月,朱元璋攻克金陵后,被小明王提升为枢密院同佥,不久又被任命为江南行中书省平章政事。元至正十九年(公元1359年)五月,朱元璋被小明王擢升为江南行省左丞相,仪同三司。
刘福通领导的红巾军在北方纵横驰骋,牵制了大部分元军主力,朱元璋在其掩护下,得以从容发展,“太祖得以从容缔造者,藉其力焉”(《明史·列传·韩林儿》)。
汴梁失守时,朱元璋东边的张士诚占据着元朝最富庶的浙西地区,西边的陈友谅已经发展成南方起义军中占地最广、兵力最强的一支,对应天府虎视眈眈。一旦失去北方的屏障,朱元璋将直接面对元军主力,陷入三面受敌的困境。为化解危机,收到汴梁失守的消息,朱元璋便遣使与察罕帖木儿通好。