当月,红巾军占领毫州(今安徽毫县),徐州兵马指挥使秃鲁战死。不久,又攻破项城(今河南项城南),朱皋(今河南固始北)。七月,元将安车万户朵哥、千户高安童在颍州皆中流矢而死。八月,红巾军攻克确山县(今河南确山县)。九月,刘福通又攻克汝宁府、息州(今河南息县)、光州(今河南潢川),聚众达到十万,全国各地纷纷起兵响应。
在北方,至正十一年(1351年)八月,邳州(今江苏邳县北)人李二(人称“芝麻李”,因在饥荒时以家中所贮芝麻赈济饥民,故得此称)与赵君用、彭早住等人以“烧香聚众”来反对元朝,攻占徐州。不久,又占领了徐州附近的许多州县,拥众十余万人。次年正月,元顺帝派兵前往徐州镇压,九月徐州城被元军攻破,芝麻李等逃走。一个多月后,芝麻李被元军捕获,惨遭杀害。
至正十一年十二月,王权(绰号“布王三”)与张椿等起义,攻占邓州(今河南邓县)、南阳(今河南南阳),被称为“北琐红军”,不久,起义军占领唐(今河南唐河)、嵩(今河南嵩县)、汝(今河南临汝)、河南府(今河南洛阳),进逼滑(今河南滑县东)、浚(今河南浚县)等地。至正十二年正月,孟海马等占领襄阳(今湖北襄樊),称为“南琐红军”。接着又取房(今湖北房县)、归(今湖北秭归南)、均(今湖北均县西北)、峡(今湖北宜昌)、荆门(今湖北荆门)等州。元朝统治者从至正十二年闰三月起,先后派出了几路元军对北琐红军和南琐红军进行“围剿”。五月,元军攻陷襄阳,布王三被俘,北琐红军被镇压了下来。至正十四年正月,元军又攻陷峡州,南琐红军也被镇压。
至正十二年二月,定远富豪郭子兴与农民出身的孙德崖、俞某、鲁某、潘某等四人起兵,攻占濠州,郭子兴等称元帅。闰三月,朱元璋投奔郭子兴。
以上均称为北方红巾军,与此同时,在南方长江中游、汉水流域也有红巾军起义,他们以徐寿辉、彭莹玉为首领,称为南方红巾军。
另外,不属于红巾军系统的有方国珍和张士诚的队伍,他们也是反元的主要武装力量之一。
元军诸帅的纷争
在镇压农民军的过程中,元朝宿卫军、镇戍军几乎消耗殆尽,募兵起家的察罕帖木儿父、答失八都鲁父子、李思齐、张良弼等军阀成为了元军的主要军事力量主力。
至正十九年(1359年)年初,察罕帖木儿控制了关陕、荆襄、河洛、江淮、山西、河北等地,重兵屯驻在太行。而答失八都鲁之子孛罗帖木儿驻兵在大同,他在打败了龙凤政权的北伐军之后,便萌生了南下争夺晋冀的野心,于是与察罕集团发生冲突。拥护顺帝的御史大夫老的沙、翰林学士承旨秃鲁帖木儿等人支持孛罗帖木儿反对察罕集团,而皇太子、搠思监、朴不花则支持察罕帖木儿父子。
至正二十年(1360年)六月,元政府下诏命察罕帖木儿与孛罗帖木儿不得彼此侵犯防区。八月,朝廷以石岭关(今山西忻县、阳曲之间)为界划分双方防区,孛罗帖木儿守关北,察罕帖木儿守关南。但是孛罗帖木儿派兵越关直逼冀宁(今山西太原市)。察罕帖木儿派参政阎奉先率部抵抗。九月,朝廷出面为两家讲和,双方各自退回防区。然而,十月朝廷又下诏调孛罗帖木儿守冀宁,察罕帖木儿拒绝交出防区,并且指挥部下击败孛罗帖木儿军。十一月,两军对峙于汾州(今山西汾阳)。次年正月,朝廷再次出面调解,双方各自罢兵还镇。到九月,又命孛罗帖木儿在保定以东、河间以南屯田。
至正二十二年(1362年)三月,政府下诏诏命令孛罗帖木儿为中书省第一平章,总管张良弼部。同月,李思齐部进攻张良弼,结果在武功中伏大败。六月,察罕帖木儿在益都被刺杀,其子扩廓帖木儿代领其部下,继续围攻益都,孛罗帖木儿趁机侵占了扩廓帖木儿的地盘。不久,孛罗帖木儿攻占了真定路(治今河北正定)和益都。接着他分兵攻占山东各地。
至正二十三年(1363年)二月,扩廓帖木儿率兵回到河南,并派部将貊高率兵进攻住扎在陕西的张良弼。六月,孛罗帖木儿奉命南下镇压襄汉地区的起义军,但此时扩廓帖木儿的军队正布防于关中和河南,他不肯让开道路让勃罗帖木儿的军队通过。于是,孛罗帖木儿一面请求皇帝下诏要求扩廓帖木儿退出潼关以西,一面派竹贞偷袭并占领了奉元路(今陕西西安市)。扩廓帖木儿见陕西省统治已经不能保全,便派貊高配合李思齐反攻奉元,竹贞被迫投降。八月,扩廓帖木儿指挥其部下进攻孛罗帖木儿,孛罗帖木儿则派兵再攻冀宁,但在石岭关被大败,从此一蹶不振。年底,朝中太子一派在皇宫上占了上风,御史大夫老的沙、知院秃坚帖木儿等逃往大同,躲在孛罗帖木儿军中。太子多次派人索取,孛罗帖木儿却置之不理。
至正二十四年(1364年)三月,元朝下诏剥夺孛罗帖木儿的兵权和官爵,孛罗帖木儿拒不从命。四月初一,使命令扩廓帖木儿讨伐孛罗帖木儿。孛罗帖木儿见扩廓帖木儿声势浩大,不敢与之争锋相对,转而进攻大都。初二,孛罗帖木儿派秃坚帖木儿率兵进攻大都,并在皇后店击败了知院也速等人的部队,皇太子慌忙率侍从逃出大都,往东逃到了古北口。十二日,秃坚帖木儿兵到了清河,扬言一定抓住搠思监、朴不花,以除皇帝身弯的叛逆之徒。十四日,顺帝下诏将搠思监流放岭北,朴不花流放甘肃,并将此二人绑缚着送到秃坚帖木儿军中,同时恢复了孛罗帖木儿的官爵和兵权。十七日,秃坚帖木儿军进入京城。顺帝下诏升孛罗帖木儿为太保,任秃坚帖木儿为中书平章。次日,秃坚帖木儿退出京城。顺帝下诏追皇太子回宫。
皇太子不甘心失败,在五月再次下令扩廓帖木儿讨伐孛罗帖木儿。扩廓帖木儿发兵十二万,分三路出击。孛罗帖木儿留下部分兵力防守大同,自己则率主力与秃坚帖木儿、老的沙大举进攻大都。太子离京逃往冀宁。次日,孛罗帖木儿入城。二十九日,顺帝下诏任孛罗帖木儿为中书左丞相,老的沙为中书平章,秃坚帖木儿为御史大夫。孛罗帖木儿的部属分别授给了中央各部门的官职。同时,下诏要求孛罗帖木儿和扩廓帖木儿和解。八月十一日,升任孛罗帖木儿为中书右丞相,监修国史,总管天下军马事务。十四日,皇太子到达冀宁,顺帝发下诏令要求太子还京。
皇太子拒不从命,反而于至正二十五年(1365年)三月下令扩廓帖木儿、李思齐讨伐孛罗帖木儿。这时,大国已被扩廓帖木儿部将关保攻占。七月二十九日,威顺王之子和尚受顺帝密旨,与徐士本密谋,派勇士刺杀了孛罗帖木儿。老的沙闻讯逃跑。顺帝下诏根除孛罗帖木儿的党羽同僚。第二天,派使携带勃罗帖木十首级前往冀宁,召还太子。大约与此同时,奇皇后也派人告诉扩廓,带重兵护送太子进京,用武力逼顺帝禅位。九月,扩廓帖木儿护送太子至京,但在离京30里处遣散重兵,轻车简从送太子入城,没有按奇皇后、太子的意图去照办,从此扩廓与皇后结下了怨恨。
同月,任扩廓帖木儿为太尉、中书左丞相、录军国重事,同时监修国史,知枢密院事,兼太子詹事。十月,抓获并处死老的沙。不久又处死了秃坚帖木儿,彻底打败了孛罗帖木儿的势力。闰十月,封扩廓帖木儿为河南王,代替太子亲征,管辖或统领关陕、晋冀、山东等处并迤南一应军马,诸王各爱马应该总兵、统兵、领兵等官,凡军民一切机务、钱粮、名爵、黜陟、予夺、悉听便宜行事。扩廓帖木儿的权力之大使之几乎成为了一个独立的小朝廷。十二月,因大皇后弘吉剌氏已死,便册立奇氏为大皇后。
至正二十六年(1366年)二月,扩廓帖木儿回到河南,他设立分省机构,以调度各处军马,并准备南下进攻朱元璋。由于他资深位尊,引起李思齐、张良弼等人的嫉妒。张首先不听从他的调遣。三月,扩廓帖木儿派关保、虎林赤率兵进攻张良弼。李思齐、脱烈伯、孔兴等联合出兵援救张良弼。七月,扩廓帖木儿又派竹负等率兵与关保部等合攻张良弼。张良弼、李思齐等联合抵抗,对关保形势十分不利。由于李思齐等也没有做好准备,于是他主动请求顺帝下诏双方和解。
至正二十七年(1367年)正月,李思齐、张良弼、脱列伯等会盟,推李为盟主,共同抵抗扩廓帖木儿。五月,两军对峙于华阴一带。八月初二,下令皇太子总领天下军马。扩廓帖木儿守潼关以东,进攻江淮。李思齐守凤翔以西,进攻川蜀。张良弼进攻襄樊。不久,貊高占据彰德(今河南安阳市)起兵反对扩廓帖木儿,并上奏朝廷表示愿服从诏令。顺帝下诏奖赏,并命其讨伐扩廓帖木儿。不久,关保也起兵反对扩廓帖木儿,拥护朝廷。初八,太子专门设大抚军院,用来主持讨伐扩廓帖木儿。十月初一,貊高军入山西,不久无功而还。初九,顺帝下诏罢免扩廓帖木儿太傅、中书左丞相等职位,只保留河南王封爵。并要他将军队交给琐住、虎林赤、李克彝、关保也速、沙蓝答里、貊高等分别统领。扩廓帖木儿对此仍然置之不理。
至正二十八年(1368年)正月初一,太子命关保固守晋宁(今山西临汾市),总领诸军,以对抗扩廓帖木儿,并下诏剥夺扩廓帖木儿封爵采邑,命李思齐等率军讨伐扩廓帖木儿。不久,扩廓帖木儿军自泽州(今山西晋城)退守晋宁。关保退至泽、潞(今山西长治市)二州,与貊高军会合。这时,明朝北伐军已抵达河南了。李思齐、张良弼致书扩廓帖木儿,希望和解,然后退回陕西。只有关保、貊高仍挥师进攻晋宁。闰七月初一,扩廓帖木儿大败关保、貊高军,生擒二将,然后“请示”朝廷。顺帝无奈只好让扩廓帖木儿处死关保、貊高。十九日,顺帝和太子撤消大抚军院,将讨伐扩廓帖木儿之事推到知大抚军院事伯颜帖木儿等人身上。同时恢复扩廓帖木儿的一切官爵和权力,希望他率部抵抗明军。但是,此时的元军阵脚大乱,已无力抵抗明军北伐了。二十六日,扩廓帖木儿自晋宁退守冀宁。同日,明军已至通州,顺帝、太子等不得不放弃大都向北逃去,明军顺利入城,元朝灭亡。