南宋灭亡后,张世杰的旧部联合东南沿海各族人民继续反元。漳州人陈吊眼联合畲族妇女许夫人在福建漳州起义。黄华在建宁起义。当时浙江南部、福建、江西南部、广东东北部是畲族活动的地方,这一带的起义多和南宋的抗元军有联系。由于元朝政府的骚扰,后来西南各族也纷纷起来反抗。壮族黄圣许、岑毅等活动于广西左右江一带地方。为什么我们说他们是壮族呢?因为这一带是壮族分布的地方。朱元璋说过:唐宋以来,左右江一带(南宁)是黄、岑世代居其间。每次战败他们就逃到越南,元军一退,他们又出来活动,打游击战持续了多年。彝族人民的斗争也有多次,著名人物有宋隆济、蛇节(女首领),活动在贵州境内。在元朝时,贵州东部思南、北部遵义是苗人,贵阳、水西一带都是彝族聚居的地区。很早以来,贵州就设立土官,蛇节就是一个土官的夫人。1300年元朝政府用兵八百媳妇国(今泰国北部、老挝西北部、我国云南车里之南,传说该国酋长有妻八百,故名),派刘深领兵,途经贵州,强征各少数族人民从军,髡去头发,面上刺字,从军后,三四年不回来,同时还强调军需品,暴虐万分,激起人民反抗。蛇节所在地水西地方很穷,被强征三千两银子、三千匹马。于是蛇节率领群众起兵反抗。1303年战斗失败,蛇节被俘遇害。此外,在广西、湖南、贵州之间,有瑶族吴天保于1344年发动的起义,他率领军队从广西全州一直打到湘西洞庭湖边。这是几次规模较大的少数民族的反抗斗争,这些斗争不久都失败了。
元朝对北方汉族人民的起义是进行严厉镇压的。当时中原的白莲教非常盛行。元朝历代皇帝都禁止白莲教的传播。但是愈禁止,民间传播愈广。最后白莲教组织的红巾军起义了。红巾军主要有东系红巾军和西系红巾军两支。东系红巾军以徐州、颍州为根据地,由刘福通、芝麻李领导;西系红巾军主要在长江中流,由彭莹玉、徐寿辉等领导。关于红巾军起义的著作,解放后多得很,这里就不详细讲了。
元末农民战争的胜利果实最后被朱元璋夺去了。他是在红巾军起来以后起兵反元的。红巾军东部这一支,由毛贵率领的起义军曾经进入了山东,在那里选用官吏,分守诸路,设立屯田,开垦土地,想在那里建立一个根据地,并且想建立政权。后来又北上,一度打到北京附近的通州南面。元朝政府大为震动。另外一支由关先生、破头潘(潘诚)、沙刘二领导的起义军,由太原经大同直到上都。把上都烧了以后,又东向克复辽阳,并进入高丽,占领高丽京城。毛贵从山东派去许多只船渡海支援关先生。最后被高丽李成桂打败,退回东北。李成桂后来夺取政权做了国王,改国号为朝鲜。朱元璋兴起后,首先以南京为根据地,接着派兵北上,于1368年攻下北京城。元顺帝北逃至上都,元朝就此灭亡了。但是,元顺帝北逃后,仍自称为中国的皇帝。他死后,儿子爱猷识理达腊跑到和林,建立年号为宣光。朝鲜在元朝灭亡以后,还用宣光年号。
朱元璋军进入北京具有重要意义。自从936年石敬瑭割燕云十六州起,到1368年朱元璋军占领北京止,北京先后共四百多年一直由北方少数民族的统治者所占领,先是契丹,后是女真,接着是蒙古。
汉族地主武装与统治者配合,积极镇压元末起义。早在红巾军起义前,河南有信奉白莲教的捧胡发动的起义。当时,元顺帝慌了,就召集中央的汉族官僚商量镇压的策略。这些汉族地主阶级分子最了解汉人情况,所以提供的办法最为有效。可见蒙古贵族和汉族地主官僚在起义的农民面前,利益是一致的。全国性的大规模起义铺开后,到处有地主阶级组织的武装,与本地无组织的或组织领导不强的农民军对抗。最著名的是南阳一带的毛葫芦兵,他们是乡间的地主武装,因为装箭的袋子像个毛葫芦,所以叫作毛葫芦兵,直到明初还存在。此外,在各地还有所谓“义兵”“义勇”,设有千户府、万户府,全都是地方性的地主武装,组织多少人马,元朝政府就给多大的名义和官职。在当时,民族矛盾当然还是存在的,但是其中交织着地主与农民之间的阶级矛盾。还有一件事看起来很有意思,在赵翼的《廿二史札记》里,有一条札记,题目是《元末殉难者多进士》,所记的大都是汉人。凡是进士,都是地主阶级的知识分子,当然没有穷苦农民。皇帝开科取士,这些地主分子中了进士,就感恩不尽,拼命地帮助皇帝镇压农民起义军。
由此看来,元朝的农民起义,主要是地主与农民的阶级矛盾,而不是民族矛盾。起义者中也有像察罕帖木儿这样的人,名义上是少数民族,但实际上是已经汉化了的少数民族地主阶级分子。