元朝从成宗以后,又传了九个皇帝,皇室内部斗争十分激烈,政治也越来越腐败,人民灾难深重。最后一个皇帝元顺帝(又叫元惠宗)妥滋睦尔即位后,荒淫残暴,闹得国库空虚,物价飞涨,百姓忍受不下去,很多地方爆发了农民起义。
河北有个农民叫韩山童,他祖父是个教书先生,曾经利用传教的形式,暗地组织农民反抗元朝,被官府发现,充军到永年(今河北邯郸东北)。韩山童长大以后,继续组织白莲会(一种秘密宗教组织),聚集了不少受苦受难的农民,烧香拜佛。韩山童对他们说:现在天下大乱,佛祖将要派弥勒佛下凡,拯救百姓。这个传说很快就传到河南和江淮一带,百姓们都盼望着有那么一天,弥勒佛真会下凡来。
正巧在这个时候,黄河在白茅堤决口,又碰上接连下了二十多天大雨,洪水泛滥,两岸百姓遭受严重水灾。有人向朝廷建议,把决口的地方堵住,另外在黄陵冈(今山东曹县西南)开挖河道,疏通河水。公元1351年,元王朝征发了汴梁(今河南开封)、大名等十三路民工十五万和兵士两万人,到黄陵冈开河。
修河工程开始了。民工们在烈日暴雨下,被迫日日夜夜没命地干活,可是朝廷拨下来的开河经费,却让治河的官吏克扣了去。修河的民工连饭也吃不饱,怨声载道。
韩山童决定抓住这个机会,发动群众。他先派几百个会徒去做挑河民工,在工地上传播一支民谣:
石人一只眼,挑动黄河天下反。
民工们不懂这歌谣是什么意思,但是听到里面有天下反三个字,就觉得好日子快要到来了。开河开到了黄陵冈,有几个民工挖呀挖呀,忽然挖出一座石人来。大家好奇地聚拢来一瞧,只见石人脸上正是一只眼,不禁呆住了。这件新鲜事又很快地在十几万民工中传开来,大家心里都想,民谣说的真的应验了,既然石人出来,天下造反的日子自然来到了。
不用说,这个石人是韩山童事先偷偷地埋在那里的。
百姓被鼓动起来了。韩山童有个伙伴刘福通,对韩山童说,现在元朝压迫百姓那么厉害,百姓还想念着宋朝。如果打起恢复宋朝的旗帜,拥护的人就会更多。韩山童很赞成这个主张,就跟大家宣布,说韩山童本来不姓韩,而是姓赵,按辈分排起来,还是宋徽宗的第八代孙子;刘福通也是南宋大将刘光世的后代。他们说得那么有鼻子有眼睛,百姓们听了,也不由不信。
韩山童、刘福通挑选个日子,聚集了一批人,杀了一匹白马,一头黑牛,祭告天地。大家推韩山童做领袖,号称明王,并约定日子,在颍州颍上(今宏徽阜阳、颍上)起义,用红巾裹头作为起义军的标记。正在歃血立誓的时候,有人走漏了消息。官府派兵士把韩山童抓去,押到县衙门杀了。韩山童的妻子带着他儿子韩林儿,逃脱了官府追捕,到武安(今河北武安)躲了起来。
刘福通逃出包围,把约定起义的农民召集起来,攻占了颍州等一些据点。原来在黄陵冈开河的民工得到消息,也杀了河官,纷纷投奔刘福通的队伍。因为起义兵士头上裹着红巾,当时的百姓把他们称做红军,历史上把它称做红巾军。不到十天,红巾军已经发展到十多万人。
元王朝听到刘福通声势浩大,吓慌了神,赶忙调动了六千名色目人组成的阿速军和几支汉军,镇压红巾军。阿速军本来是元王朝的一支精锐的队伍,但是那时候,已经十分腐败,将领们只知道喝酒享乐,兵士们到处抢劫。一碰上红巾军,还没交锋,主将带头挥着鞭子,骑马向后逃奔,嘴里还不停地叫喊着:阿卜,阿卜!(阿卜是走的意思。)下面的兵士一看主将临阵脱逃,也都四散逃窜。
过了一个月,刘福通的红巾军又连续攻下了一批城池。江淮一带的农民早就受到白莲会的影响,听到刘福通起义,纷纷响应,像蕲水(今湖北浠水,蕲音qí)的徐寿辉,濠州(今安徽凤阳)的郭子兴,都打起红巾军的旗号起义。也有不打红巾军旗号的,像江苏北部的张士诚。