元朝末年,政府不修水利,以致於造成黃河決口,糧田被淹,漕運中斷,鹽場被毀。為此元順帝下令征發15萬民工開鑿新河道治理黃河,與此同時政府又變更鈔法,濫發紙幣,造成物價飛漲,致使怨聲載道。“開河”和“變鈔”加速元末農民起義的爆發。
至正十一年(1351年)四月開河後,北方白蓮教首領韓山童及其教友劉福通等決定利用這一時機,發動武裝起義,反對元朝。他們一麵派教徒在治河民工中大力宣傳“彌勒佛下生,明王出世”,一麵又暗地裏鑿了一個獨眼石人,埋在即將挖掘的黃陵岡附近的河道上,然後到處散布民謠“石人一隻眼,挑動黃河天下反”。等到治河民工挖出這個獨眼石人以後,個個驚詫不已,以為真的應驗了。消息傳出以後,大河南北,人心浮動。
四月下旬,韓山童、劉福通、杜遵道、羅文素、盛文鬱、韓咬兒等,聚眾3000人於潁州潁上(今安徽潁上),劉福通等稱韓山童為宋徽宗八世孫,當為中國主。劉自己則稱是南宋名將劉光世後代,當輔佐之。韓山童發布文告說:“蘊玉璽於海東,取精兵於日本。貧極江南,富稱塞北”。又打出大旗,上寫:“虎賁三千,直抵幽燕之地;龍飛九五,重開大宋之天”。表現出了要推翻元朝,恢複大宋王朝的堅定決心。不幸事情敗露,地方官追捕十分緊急,韓山童最後被逮犧牲,其妻楊氏,子韓林兒逃到了武安(今江蘇徐州)。劉福通等倉促起兵。五月初三一舉攻克潁州(今安徽阜陽)。由於起義軍成員都頭裹紅巾為標誌,故稱為紅巾軍。又因為起義軍成員多數崇信白蓮教,燒香拜佛,故又稱香軍。
當月,紅巾軍占領毫州(今安徽毫縣),徐州兵馬指揮使禿魯戰死。不久,又攻破項城(今河南項城南),朱皋(今河南固始北)。七月,元將安車萬戶朵哥、千戶高安童在潁州皆中流矢而死。八月,紅巾軍攻克確山縣(今河南確山縣)。九月,劉福通又攻克汝寧府、息州(今河南息縣)、光州(今河南潢川),聚眾達到十萬,全國各地紛紛起兵響應。
在北方,至正十一年(1351年)八月,邳州(今江蘇邳縣北)人李二(人稱“芝麻李”,因在饑荒時以家中所貯芝麻賑濟饑民,故得此稱)與趙君用、彭早住等人以“燒香聚眾”來反對元朝,攻占徐州。不久,又占領了徐州附近的許多州縣,擁眾十餘萬人。次年正月,元順帝派兵前往徐州鎮壓,九月徐州城被元軍攻破,芝麻李等逃走。一個多月後,芝麻李被元軍捕獲,慘遭殺害。
至正十一年十二月,王權(綽號“布王三”)與張椿等起義,攻占鄧州(今河南鄧縣)、南陽(今河南南陽),被稱為“北瑣紅軍”,不久,起義軍占領唐(今河南唐河)、嵩(今河南嵩縣)、汝(今河南臨汝)、河南府(今河南洛陽),進逼滑(今河南滑縣東)、浚(今河南浚縣)等地。至正十二年正月,孟海馬等占領襄陽(今湖北襄樊),稱為“南瑣紅軍”。接著又取房(今湖北房縣)、歸(今湖北秭歸南)、均(今湖北均縣西北)、峽(今湖北宜昌)、荊門(今湖北荊門)等州。元朝統治者從至正十二年閏三月起,先後派出了幾路元軍對北瑣紅軍和南瑣紅軍進行“圍剿”。五月,元軍攻陷襄陽,布王三被俘,北瑣紅軍被鎮壓了下來。至正十四年正月,元軍又攻陷峽州,南瑣紅軍也被鎮壓。
至正十二年二月,定遠富豪郭子興與農民出身的孫德崖、俞某、魯某、潘某等四人起兵,攻占濠州,郭子興等稱元帥。閏三月,朱元璋投奔郭子興。
以上均稱為北方紅巾軍,與此同時,在南方長江中遊、漢水流域也有紅巾軍起義,他們以徐壽輝、彭瑩玉為首領,稱為南方紅巾軍。
另外,不屬於紅巾軍係統的有方國珍和張士誠的隊伍,他們也是反元的主要武裝力量之一。