至正十一年(1351年)五月初,韓山童、劉福通、杜遵道、羅文素、盛文鬱、韓咬兒等,聚眾三千人於潁州殺黑牛白馬誓告天地,準備起義。劉福通等宣稱山童為宋徽宗八世孫,當為中國主。又打出“虎賁三千,直抵幽燕之地;龍飛九五,重開大宋之天”的戰旗,表示推翻元朝,恢複大宋的決心。不幸謀泄,遭到地方官鎮壓,韓山童被捕被殺。劉福通等倉促起兵,於五月初三一舉攻克潁州。起義軍頭裹紅巾為標誌,故稱紅巾軍;起義軍多為白蓮教徒,燒香拜佛,故又稱香軍。紅巾軍占領潁州後,元廷遣樞密院同知赫廝、禿赤率阿速軍及各路漢軍前往鎮壓,被擊敗,接著,紅巾軍占領亳州、項城、朱皋。九月,克汝寧府,又克息州、光州,眾至十萬。江淮各地紛紛起兵響應。
劉福通在潁州發動起義成功後,對在江淮一帶從事秘密活動的南方白蓮教僧人彭瑩玉及其門徒鼓舞很大。至正十一年(1351年)夏,彭瑩玉及其徒趙普勝等起兵巢湖,八月,麻城鐵工鄒普勝、羅田布販徐壽輝等在蘄水發動起義,他們宣傳“彌勒佛下生,當為世主”,攻克蘄水、蘄州。十月,以蘄水為都,建立政權,國號天完,改元治平,徐壽輝稱帝,鄒普勝為太師,設中書省及六部。天完政權建立後,分兵四出,從至正十二年(1352年)正月開始,先後攻占湖廣、江西、福建的許多地區,其中由彭瑩玉、項普略率領的一支東去江州,到安徽,抵浙江,又折回浙西、安徽、江西,轉戰數千裏,影響很大。南方紅巾軍提出“摧富益貧”的口號,具有很大號召力。至正十三年(1353年)十二月,元廷集中兵力攻陷天完的都城蘄水,徐壽輝等被迫遁入黃梅山及沔陽湖中。曾轉戰江浙一帶、擁有百萬之眾的巢湖水師也被迫退守巢湖。江淮的起義軍處於不利境地,起義進入低潮。
其他非紅巾軍係統的起義軍,以方國珍、張士誠兩支最強大,活動範圍最廣。鹽販方國珍,早在至正八年(1348年)春即起義於台州黃岩,聚集數千人,劫奪漕運糧,扣留元海運官員。元廷招降,國珍屢降屢反。鹽販張士誠於至正十三年(1353年)正月,與其弟士義、士德、士信及李伯升等18人,招集鹽丁,起兵反元,乘勝攻下泰州,連克興化、高郵。至正十四年(1354年)正月,自稱誠王,國號大周,改元天佑。九月,脫脫總製諸王各愛馬、諸省各翼軍馬,出征高郵,號稱百萬。高郵正危在旦夕時,脫脫受到中書平章哈麻等彈劾,被免職流放,元廷另以河南行省左丞相太不花等代領其兵。由於臨陣易將,元軍不戰自潰,張士誠則乘機出擊,元軍解體。從此元軍喪失了優勢。
高郵之戰對整個戰局發生了有利於農民起義軍的變化。北方紅巾軍從至正十五年(1355年)開始主動出擊。二月,劉福通將韓林兒從碭山夾河迎至亳州,建立北方紅巾軍的政權——宋,建元龍鳳。韓林兒為帝,又號“小明王”。中央設有中書省、樞密院、禦史台和六部,地方設行省。以杜遵道、盛文鬱為丞相,羅文素、劉福通為平章,福通弟劉六為知樞密院事。杜遵道擅權,為劉福通所殺,福通為丞相,封太保。從第二年起,福通分兵出擊,三路北伐。
至正十六年(1356年)九月,李武、崔德率領的西路軍猛攻潼關。次年初,李武、崔德占領商州,二月,進逼陝西行省首府奉元。元廷令察罕帖木兒、李思齊等解圍,紅巾軍戰敗。閏九月,白不信、大刀敖、李喜喜等入陝,奪取興元路,又克秦、隴,進據鞏昌。十月,紅巾軍攻鳳翔,察罕帖木兒往援,紅巾軍失利。十八年,一部分西路紅巾軍在李喜喜等率領下進入四川,稱“青巾”,後投奔陳友諒。李武、崔德等向李思齊投降。
東路軍由毛貴率領。毛貴原是趙君用的部將,至正十七年(1357年)二月,從海寧州由海道入山東,連克膠州、萊州、益都路、濱州、莒州等地。七月,元鎮守黃河義兵萬戶田豐響應毛貴起義。次年二月,毛貴攻克濟南。至此,山東各地大部分已為毛貴、田豐所占領。宋政權在山東設益都等處行中書省,以毛貴為平章。毛貴設“賓興院”,選用以前的元官,並派姬宗周等為地方官,又於萊州屯田,以儲備糧食。在攻克濟南後,毛貴進軍河北,三月,克薊州,至漷州棗林、柳林(均在今北京通縣境內),進逼大都。但因孤軍深入,敗於柳林,遂退師濟南。第三年四月,淮安趙君用奔山東,殺毛貴。七月,轉戰至遼陽的毛貴部將續繼祖折回益都,殺趙君用。山東紅巾軍各部由於自相仇殺,從此一蹶不振。至正二十一年(1361年)夏,察罕帖木兒進攻山東,田豐、王士誠等投降。十月,察罕帖木兒進圍益都,毛貴原部將陳猱頭等堅守。次年六月,田豐、王士誠殺察罕帖木兒。察罕帖木兒養子擴廓帖木兒襲父職,繼續圍攻益都。十一月,益都陷。田豐、王士誠被殺,陳猱頭被俘送大都。山東紅巾軍被鎮壓下去。中路軍由關先生、破頭潘、馮長舅、沙劉二等率領。至正十七年(1357年)九月,越太行山,進入山西。次年二月,毛貴遣其部將王士誠、續繼祖等與中路軍彙合。由於元軍在山西、河北的兵力很強,中路軍的主力轉向晉北,原擬由山西入河北,與毛貴軍會合的計劃未能實現。九月,關先生等克完州。十月,占領大同、興和等路。十二月,克上都,破全寧路、遼陽路。第三年十一月,紅巾軍進入高麗。至正二十二年(1362年)正月,關先生、沙劉二等在高麗戰死,餘眾在破頭潘率領下敗退遼陽。四月,破頭潘在遼陽被俘。