在各地反元起义军中最先发动起义和最有力地打击元朝统治的当数刘福通领导的北方红巾军。龙凤元年(1355)年初刘福通迎立小明王韩林儿为帝,在江淮地区的亳州建立起宋政权。消息传开,元廷震惊。鉴于高邮大战中大元帝国失去了最后的军事“大家底”百万大军之现实,元顺帝急调曾经成功镇压荆、襄红巾军的义兵武装头领、四川行省平章政事兼知行枢密院事答失八都鲁迅速领兵开赴汝宁、安丰等地,对刘福通红巾军发起猛烈进攻。
刘福通闻讯后毫不畏惧,诱敌深入,在河南许州长葛击败了答失八都鲁部队。三个月后,即该年九月,他又在中牟成功地偷袭了答失八都鲁军营,弄得这位堂堂的元朝省长大人在慌乱之中将儿子孛罗帖木儿也给弄丢了,好不狼狈。要不是另一支元军武装刘哈剌不花及时赶来救援,恐怕连他的小命都不保。为此,答失八都鲁恨死了刘福通,随即从各处调集了大量的兵力,围攻龙凤政权的都城亳州。
为了有效地打击元朝势力,当时刘福通曾命部将赵明达率兵攻取葛、汝、洛阳。起义军一路顺风,直抵怀庆路,黄河北岸震惊。按理说此时的形势对起义军十分有利,哪知道赵明达在黄河边作战时遭遇了河南地区另一支极为凶狠的义兵武装即前面提到的察罕帖木儿部队的袭击,随即惨败。这样一来就剩下刘福通方面单线作战,答失八都鲁领军向着亳州步步紧逼。见到情势不妙,为了救主,刘福通急忙率军前去阻击,这样两军便在太康展开了激战。激战结果偏偏是起义军方面失利,无奈之下,刘福通只好带了韩林儿退避安丰。
龙凤二年(1356)三月在安置好小主子后,刘福通又赶回去重新布置军队,与答失八都鲁在亳州展开大决战。这场大决战十分激烈,双方刀对刀、枪对枪,不知打了多少个回合,就是一直分不出输赢,从上午九十点一直打到下午四五点,太阳快要下山了,还是没分出胜负来。就在这个时候,可能是岁数大了的原因,正在战阵中指挥的答失八都鲁突然间从马背上掉了下来,儿子孛罗帖木儿赶紧前来扶他,抢回军营。元军主帅病倒,老天在关键时刻帮了起义军一把,亳州城顿时转危为安。
亳州危机虽然解除了,但答失八都鲁和儿子孛罗帖木儿率领的部队就驻守在离亳州不远的陈留,元朝方面还调集了其他几路人马从更大的范围开始向亳州围拢过来。针对这样的情势,刘福通采取了主动出击的策略,派出部将进行西征和东征,以此减缓元军对亳州的军事压力。
龙凤二年(1356)九月,刘福通命令李武、崔德率军进行西征,破商州、克潼关,震慑元军。这样一来,来自西线的军事压力顿时有所减轻;十月,曾经在濠州城内与郭子兴等斗得像乌眼鸡的永义王赵均用攻占苏北淮安,接受龙凤政权领导。刘福通随即调赵均用部将毛贵率军开始东征,由今天江苏连云港东海出发,乘船航海,攻打胶东半岛上的元朝势力。
李武、崔德西征和毛贵东征,两路军都取得了很大的胜利,这就从根本上打破了元军大范围围逼亳州红巾军的困局。在这样有利的形势,龙凤三年(1357)六月刘福通决定派出三路大军进行北伐,自己则亲率人马向北挺进。七月占领归德,打通北渡黄河的通道;八月攻下大名卫辉路,又骤然回师山东曹州,大败元军,杀死元将达理麻失理,“达达诸军皆溃”。一直以剿灭红巾军为己任的答失八都鲁见到这样的战势,吓得直退。而恰巧这时元廷又有人在怀疑他拥兵自重、错失战机,接二连三地派出特使前往山东前线来催促他。刘福通看出了其中的名堂,来个将计就计,伪造了答失八都鲁通敌议和文书,故意遗忘在路上,让元廷使者捡到,这下好戏上演了。敌阵内相互算计,答失八都鲁每每想到这些,寝食难安,忧愤不已,不久就一命呜呼。
答失八都鲁死后的第二个月也就是龙凤四年(1358)正月,元廷令其子孛罗帖木儿承袭父职河南行省平章政事(至正十五年六月元廷正式任命的),总领答失八都鲁旧部。敌军主帅新旧交替,少不了有一段时间工作磨合和缓冲,刘福通利用这样有利的间隙发起了大规模的进攻,先克卫辉,再进逼汴梁。恰巧这时汴梁发生了大饥荒,刘福通抓紧时间组织围攻,汴梁元将竹贞眼见情势不妙,立即弃城逃跑,红巾军轻轻松松地进驻汴梁城。五月,刘福通自安丰迎小明王入居北宋皇城,并以此为都,震动四方,由此将北方红巾军起义声势推向了高潮。
不过刘福通并没有满足于眼前的这些胜利,他还抓住机遇组织三路大军进行北伐,构成了对元大都北京的包抄阵势。东路军由毛贵率领,攻下山东大部分地方,龙凤四年(1358)二月,占据济南,“立宾兴院,选用故宫姬宗周等分守诸路,又于莱州立三百六十屯田,每屯相去三十里,造大车百辆,以挽运粮储,官民田十止收二分,冬则陆运,夏则水运”。在稍作一番调整之后,东路军继续北上,攻占清州、沧州,进据长芦镇,在南皮县的魏家庄斩杀了元军悍将董抟霄兄弟。而后又向前挺进,攻下漷州枣林,打死元枢密副使达国珍。三月,东路军前锋部队进抵到了柳林,距离元大都北京只有120里。元廷闻讯,“中外大骇,廷议迁都以避之”,但中书省左丞相太平(当时还没被贬)力主坚守北京,并恳请元顺帝立即下诏,急调元朝官军与地方义兵入京勤王。而就在这时,东路军遭遇到了元朝同知枢密院事刘哈剌不花所部的突然袭击,损失惨重,最后不得不退回山东济南。
中路军由关先生、破头潘即潘诚、冯长舅、沙刘二(人称扫地王)、王士诚率领,主要进攻山西和河北。龙凤三年(1357)由曹州越过太行山,攻入山西,先后占领了临汾、绛县、沁州、太原、大同等地,攻略云中、雁门、代郡等,“烽火数千里”。原计划再进入河北境内,与东路军会合。不料这时元廷已调察罕帖木儿进入山西,在南山伏击中路军,中路军由此遭受了很大的打击。但他们以顽强的毅力冲破敌人的重重阻挠,强入河北,然后再北上,进攻山西大同,一直打到塞外。龙凤四年(1358)十二月,中路军攻入元帝国上都开平,“焚宫阙,留七日,转略往辽阳,遂至高丽”。
西路军由白不信、大刀敖、李喜喜率领,主要进攻目标为关中地区,援助先期西征的李武和崔德。龙凤三年,西路军攻占兴元即今天的陕西汉中,随后北上攻入凤翔,在那里遭到了察罕帖木儿和李思齐义兵武装的多次打击,后被迫转入四川。虽然后来西路军又攻入了秦陇,占据巩昌,但在进攻凤翔时再次遭挫,李喜喜率领残部不得不又退入四川。