元朝后期,以蒙古族贵族为首的统治阶级,对各族特别是汉族人民的掠夺和奴役十分严重。他们疯狂兼并土地,把广阔的良田变为牧场,驱逐佃户,大部分农民因为失去土地而沦为奴隶。官府横征暴敛,苛捐杂税名目繁多,全国税额比元初时增加了二十倍。

元朝统治者同样挥霍无度,到处搜罗财宝,强抢民间女子,天天供佛炼丹。朝廷财政入不敷出,便滥发货币,致使物价飞涨。再加上黄河连年失修,多次决口,导致民不聊生,百姓怨声载道。

公元1344年五月,黄河水暴涨,白茅堤、金堤相继决口。沿河州郡先遇水灾,又遭旱灾、瘟疫,灾区人民死者过半。

黄河决堤后,冲坏了山东盐场,严重影响了元朝朝廷的国库收入。公元1351年四月,元顺帝命贾鲁为工部尚书、总治河防使,强征民工十五万人开凿两百八十里新河道,使黄河东汇入淮河入海。由于工时紧迫,监督挖河的官吏乘机克扣河工“食钱”,致使河工挨饿受冻,群情激愤。

公元1350年底,元顺帝变更钞法,滥发纸币,造成物价飞涨,促使社会矛盾进一步激化。

北方白莲教首领韩山童及其教友刘福通等决定抓住这一时机,发动武装起义。他们一面加紧宣传“弥勒下生”“明王出世”,一面又散布民谣称“石人一只眼,挑动黄河天下反”,同时还在暗地里凿了一个独眼的石人,埋在河工们即将挖掘的黄陵岗附近的河道上。

很快,独眼石人被施工的河工们挖了出来。河工们对此惊诧不已,反抗情绪愈加强烈。

刘福通和韩山童见时机已经成熟,便聚众三千人于颍州颍上,杀黑牛、白马,誓告天地准备起义。刘福通称韩山童为宋徽宗八世孙,并自称为南宋名将刘光世的后代。韩山童发布文告,表示自己要推翻元朝、恢复大宋的决心。

不过,起义因事前走漏风声,遭到了官府的围剿,韩山童牺牲。韩山童的妻子杨氏、儿子韩林儿逃到武安。刘福通突围后,又组织红巾军进攻颍州。

红巾军占领颍州后,元朝廷遣枢密院同知赫厮、秃赤率阿速军及各路汉军前往镇压,被红巾军击败。接着,红巾军又占领亳州、项城、朱皋。

九月,红巾军攻破汝宁府,又占领了息州、光州,人数已达十余万。红巾军所到之处,开仓放粮、赈济贫农,深得百姓拥护。百姓纷纷加入红巾军,队伍迅速扩大到几十万人。

在红巾军的影响下,全国各地农民纷起响应。人数较多的有蕲水的徐寿辉部、萧县的芝麻李部、南阳的布王三部、荆樊的孟海马部、濠州的郭子兴部等。

为推翻元朝的反动统治,起义军提出“以明斗暗”的口号,鼓舞百姓与封建官府做斗争。北方红巾军从公元1355年开始主动出击。二月,刘福通将韩林儿迎至亳州,立韩林儿为“小明王”,国号“大宋”,年号“龙凤”,建立了北方红巾军的革命政权。刘福通任枢密院平章,不久后任丞相。