太和二十三年(公元499),孝文帝元宏去世,其子元恪即位,是為宣武帝。宣武帝即位時,才十幾歲,朝政由外戚高肇把持,北魏政治趨於混亂。延昌四年(公元515),宣武帝去世,其子7歲的元詡即位,是為孝明帝。由於元詡年幼,所以由其母胡太後臨朝。正光元年(公元520),胡太後的妹夫元叉與宦官劉騰密謀,將胡太後幽禁在北宮,元叉、劉騰開始執掌朝政,北魏的統治進入了黑暗時期。同時,北魏的王室貴族在生活上窮奢極欲,腐化墮落,賣官鬻爵,賄賂公行。地方官更是橫征暴斂,百姓的賦稅、徭役、兵役負擔日趨繁重、百姓紛紛逃亡或依附豪強。此時,北魏已開始陷入極其嚴重的社會危機之中。各階層人民由於不堪重負,被迫揭竿而起,一場聲勢浩大的起義運動開始了。
北魏在遷都洛陽之前,首都設在平城(今山西大同)。為了保衛首都不受北方的柔然、高車、山胡等遊牧民族的侵襲,北魏政府在平城北部自東向西設置了懷荒(今河北張北)、柔玄(今內蒙古興和西北)、撫冥(今內蒙古四王子旗東南)、武川(今內蒙古武川西)、懷朔(今內蒙古固陽西南)、沃野(今內蒙古五原東北)等六個軍事據點,稱為六鎮。六鎮均設有鎮都大將,負責統兵鎮守,由鮮卑貴族擔任,鎮兵也大多為拓跋族的氏族成員以及中原的強宗子弟,地位較高。隨著北魏疆域的不斷擴大,北魏政府開始強迫漢族及其他民族的豪強、酋帥遷徙到邊鎮。文成帝以後,又不斷發配囚犯戍邊,被稱為“府戶”。孝文帝遷都洛陽後,政治重心南移,六鎮失去了軍事上的重要地位,鎮民的地位也隨之日益下降。當時。進入中原的各族貴族漢化進程迅速、而六鎮卻依然保持著鮮卑族特色。六鎮民被中原貴族視為“北人”、備受歧視。兩者之間的差距逐漸加大,矛盾日趨尖銳。
北魏元纂墓誌正光四年(公元523),在柔然的不斷侵襲威脅下,懷荒鎮民請求鎮將武衛將軍於景打開公倉,發放糧食,以抵禦外敵。不料於景不允,鎮民在盛怒之下殺死了於景,從而點燃了六鎮起義的戰火。
正光五年(公元524)三月,沃野鎮民破六韓拔陵也聚眾起義,殺死了沃野鎮下屬的一個戍主,攻占了沃野鎮,建元真王。隨後,破六韓拔陵率眾南下,又派遣別帥鮮卑人衛可孤率軍圍攻武川、懷朔兩鎮。懷朔鎮將楊鈞以賀拔度拔為統軍,率其三子賀拔允、賀拔勝、賀拔嶽,領兵抵禦起義軍。麵對起義軍的強大攻勢,北魏任命臨淮王元彧都督北討諸軍事,率軍鎮壓破六韓拔陵。四月,高平(今寧夏固原)鎮民赫連恩等起義,推舉敕勒酋長胡琛為高平王,攻下高平鎮,響應破六韓拔陵。但不久被北魏盧祖遷擊破,胡琛北逃。與此同時,衛可孤攻陷了武川、懷朔兩鎮,賀拔度拔、賀拔勝父子被起義軍俘獲。五月,破六韓拔陵大敗臨淮王元彧於五原(今內蒙古包頭西北),又在白道(今呼和浩特西北)擊敗北魏安北將軍李叔仁。首戰失敗後,北魏又以尚書令李崇代替元或為北討大都督,以撫軍將軍崔暹、鎮軍將軍元淵受其節度,進攻起義軍。七月,破六韓拔陵在白道又大敗崔暹,魏軍損失慘重,李崇被迫退守雲中(今內蒙古和林格爾西北),與之相持。八月,東西兩部高車相繼背叛北魏,依附破六韓拔陵,起義軍隊伍更加壯大。至此,六鎮皆反,均被起義軍所占領。
北魏見義軍聲勢浩大,不得不尋求外援,請柔然協助鎮壓各地起義軍。孝昌元年(公元525)初,柔然主阿那瓌(gui)應北魏之邀,率10萬大軍,自武川西向沃野,助魏鎮壓六鎮起義。六月,破六韓拔陵在五原圍攻元淵軍隊,交戰不利,被迫撤退。為了進一步削弱起義軍力量,元淵派於謹說服了曾經依附破六韓拔陵的西部高車酋長乜列河等,率3萬餘戶背叛破六韓拔陵,依附北魏。破六韓拔陵領兵截擊,在元淵和柔然阿那瓌軍隊的夾擊下,起義軍大敗,義軍20萬人都被元淵所截獲。北魏政府派遣黃門侍郎楊昱將這些六鎮降戶分別遷徙到定(今河北定縣)、冀(今河北冀縣)、瀛(今河北河間)三州就食,破六韓拔陵下落不明,可能被柔然所殺。至此,六鎮起義宣告失敗。
六鎮起義失敗後,又爆發了聲勢浩大的河北起義。
孝昌元年(公元525)八月,柔玄鎮兵杜洛周率領到河北就食的“六鎮降戶”在上穀(今北京延慶)起義,攻陷州縣,包圍燕州(州治在今河北涿鹿)。此後,杜洛周又攻下了幽州、定州和瀛州。
不久,懷朔鎮兵鮮於修禮等又率“六鎮降戶”在定州的左人城(今河北唐縣西)起義。但鮮於修禮不久被別帥元宏業所殺,修禮部將葛榮又將元宏業殺死,繼續領導起義軍。在葛榮的領導下,起義軍大敗北魏軍隊,葛榮遂自稱天子,建國號齊,改元廣安。隨後,葛榮殺死了杜洛周,占有了他的部眾。又連續攻下殷州(州治在今河北隆堯東)、冀州、定州、瀛州和滄州,起義隊伍迅速壯大至數十萬,兵力強盛,直逼北魏京師洛陽。
武泰元年(公元528)八月,葛榮率軍圍攻相州(治所鄴在今河北臨漳西南)。北魏爾朱榮率精騎7000出滏口(今河北磁縣西北),大敗葛榮軍隊。葛榮兵敗被俘,押至洛陽處死。河北起義宣告失敗。
此後,葛榮餘部韓樓、郝長又在薊城繼續率領義軍起義,最終也被爾朱榮的軍隊鎮壓下去。
早在六鎮起義之初(公元524),關隴地區的氐、羌、胡各族人民也舉兵響應,一度聲勢浩大,攻占州縣,但於普泰元年(公元531)失敗。
北魏末年各族人民的大起義,沉重打擊了腐朽的北魏王朝,加速了它的滅亡。同時,由於各族人民紛紛參加起義,也促進了民族大融合。