北魏孝文帝去世后,其子宣武帝元恪继位,统治集团开始走向腐败。孝明帝元诏在位时,胡太后临朝称制。胡氏骄奢淫逸,拓跋贵族的奢靡之风更盛。高阳王元雍有僮仆6000,伎女500,一食之费数万钱。河间王元琛饲养十余匹骏马,皆以银做马槽,用金做锁环。他与元雍斗富取胜后向人夸耀说:“不恨我不见石崇,恨石崇不见我。”
吏治败坏,贿赂公行,吏部公开卖官。用钱货买官皆有定价,大郡太守价值2000匹绢,次郡守1000匹,下郡守500匹,于是人们将吏部讥为"市曹"。官吏贪污成风,元晖为右将军,卢昶任侍中,因都贪得无厌,致有"饿虎将军”、“饥鹰侍中”的绰号。
土地兼并严重,胡汉官僚贵族竞相占夺良田。赋役繁重,民不堪命。地方官吏用重秤长尺征敛租调,大肆敲诈勒索。国家规定调绢每匹4丈,而征收时却每匹七八丈。由于统治者崇尚佛教,大规模地凿建石窟佛寺,加以频繁南伐,徭役兵役征发无已。
北魏后期又连年遭受水旱灾害,饥荒严重,广大贫苦农民纷纷破产流亡。在这种情况下,各地不断发生小规模的农民起义,并最终导致各族人民大起义的爆发。
魏末全国性大起义首先发生在六镇。正光四年(523),怀荒镇(今河北张家口北)遭遇灾荒,又值北方的柔然出兵人侵,镇民要求开仓赈济,以便御敌,结果遭到镇将于景的断然拒绝。于是,积怨已久的镇民囚杀于景。不久,沃野镇(今内蒙古五原西北)的镇民破六韩拔陵聚众杀死戍主,举行起义。起义军攻占沃野镇,得到各镇兵民的普遍响应,队伍迅速扩展到20多万人,很快占领了北部边境的六镇。
北魏朝廷派兵围剿,屡遭失败,竟勾结柔然可汗,请求出兵帮助镇压。孝昌元年(525),起义军作战失利而转移时,被北魏军队截击,破六韩拔陵不知所终,起义失败。
接着,柔玄镇兵杜洛周率领六镇“降户”在上谷(今河北怀来东南)起义。与此同时,怀朔镇兵鲜于修礼率边镇徙民在左人城(今河北唐县)起义,并与杜洛周联兵作战。后来,这两支起义军合在一起,在葛荣领导下,众达数十万,攻占河北五州之地,声威大震,直至永安二年(529)被北魏将领尔朱荣镇压下去。
六镇起义不久,关陇地区也爆发了各族人民的反抗斗争。正光五年(524),敕勒人高琛在高平(今甘肃固原)聚众起事。同年,秦州羌族人莫折大提也率众暴动。这两支起义军后来统一于万俟丑奴领导之下。永安三年(530)、万俟丑奴被尔朱荣俘杀,余部继续坚持斗争,一年后彻底失败。
在各族人民起义斗争的冲击下,北魏统治集团内部矛盾日趋激烈。武泰元年(528),胡太后毒杀孝明帝,另立年仅3岁的元钊为帝。不久,尔朱荣以替孝明帝报仇为名举兵进攻洛阳,拥立孝庄帝元子攸,然后将胡太后和元钊押至回阴(今河南孟津东),沉入黄河,并围杀王公大臣2000余人。这次事件,史称“河阴之变”,经此变乱,尔朱氏完全控制了北魏政权。
尔朱荣专擅朝政,激起了地方势力的不满。永熙元年(532),尔朱荣的部将高欢率兵进入洛阳,铲除尔朱氏,拥立孝武帝元修,自己独揽朝权。永熙三年(534),元修不甘受制于高欢,逃离洛阳投奔割据关中的宇文泰。高欢另立孝静帝元善见,迁都邺城(今河北临漳西南),史称东魏。大统元年(535),宇文泰鸠杀元修,另立文帝元宝炬,都长安,史称西魏。
东魏从建立时起,朝政实际上掌握在高欢手中。高欢集团主要由怀朔镇的鲜卑中下级军官和关东一带的汉族大族所构成。东魏初年,边镇鲜卑歧视汉人,民族矛盾比较严重。高欢为改变这种状况,极力调和胡汉关系。他下令不准鲜卑人欺凌汉人,并大力笼络汉族地主。
高欢比较重视人才的选拔,凡有才能者即使出身低微也加以重用。为维护均田制的继续施行,高欢派遣括户大使分行诸州,核实户口,得无籍之户60余万,对安定社会秩序和发展农业生产起到了一定作用。
高欢死后,其子高澄和高洋相继执掌东魏大权。武定八年(550),高洋废孝静帝元善见,自立为帝,改国号为齐,史称北齐。高洋在位时期,大力加强中央集权,取消地方州郡长官辟举僚属的权力,改由朝廷直接任命,并且重用庶族地主。广立学校,传授儒学。重视农业生产,督促地方官吏劝课农桑,放免奴婢和杂户为平民。
武成帝高湛继位后,修订律令,编成《北齐律》,“法令明审,科条简要”。为增加政府财政收入,于河清三年(564)对均田制和三长制作了调整,史称“河清改制”。由于北齐的豪强大族势力强大,河清改制收效甚微,均田制难以很好地推行。
北齐的统治集团生活奢侈,政治腐败。高洋在位时即滥用民力,大修宫室,造成“举国骚扰,公私劳弊”,“朝野惨恨,各怀怨毒”。高洋死后,其兄弟子侄为争夺皇位而相互残杀,在亡国前的10余年中,换了5个皇帝。后主高纬在位时,不理朝政,整日玩狗斗鸡,还自作《无愁曲》,经常与群臣弹唱,人称他为“无愁天子”。承光元年(577),北齐为北周所灭。
西魏政权实际是由宇文泰所控制。宇文泰在执掌西魏朝政期间,进行了富有成效的社会改革。汉族大族苏绰贯彻宇文泰“革易时政”的思想,制定了著名的“六条诏书”,其主要内容为先洗心、敦教化、尽地利、擢贤良恤狱讼、均赋役。宇文泰以此为指导,推行各项改革措施。
经济上,恢复和完善均田制,变革赋役制度。军事上,创建府兵制。政治上,整顿选举制度,加强吏治,招纳贤才。宇文泰惩魏、齐之失,对九品中正制进行变革,选拔官吏“不限资荫,唯在得人”,打破门第和资历的限制,任人唯才,从而为庶族寒门入仕参政开辟了道路。
精简机构,裁汰冗员,加强中央对地方的控制。宇文泰令苏绰等人依照“周礼”改定官制,用六官代替尚书、门下、中书三省并列的中央机构,并把地方州郡僚佐的任命权收归朝廷,改变魏晋以来州刺史多带将军开府,而府属皆由长吏自选的传统。制定计账和户籍法,以乡、里为单位,将土地及应负担的赋役数额登记造册,以防止人口流亡和保证赋役的征派。
西魏恭帝三年(556),宇文泰去世,其子宇文觉继掌朝政。次年,宇文觉废恭帝,自立为帝,改国号为周,史称北周。
周武帝宇文邕在位时,继续推进宇文泰的改革事业。他多次下令放免奴婢、杂户,把自北魏分裂以来沦为官、私奴婢的良人全部放免,这对于削弱豪强势力,解放社会生产力,促进经济发展以及缓和民族矛盾,都具有积极意义。
宇文邕崇尚儒学,排斥佛教和道教。自十六国以来,由于历代统治者的大力提倡,佛教在北方迅速传播,佛寺遍布各地,僧尼道士不断增多。大量人口遁入佛门,使国家减少了劳动人手和兵源。因此,宇文邕决心灭佛。
他在建德三年(574)下诏:"断佛、道二教,经像悉毁,罢沙门、道士,并令还民"。宇文邕灭掉北齐之后,加大灭佛力度,毁弃大量佛寺和佛像,没收寺院的土地和财产,强迫僧尼道士还俗,从事生产,承担赋役。
宇文邕还进一步发展和完善府兵制,使北周的军事力量大为增强,为其灭掉北齐奠定了基础。建德四年(575),宇文邕亲自率兵伐齐,经过多次征战,于建德六年(577)攻占了北齐的国都邺城,齐后主高纬出逃,北齐亡,结束了北方近半个世纪的分裂局面,并为全国统一创造了有利条件。
宇文邕在灭齐之后,又派兵攻占南方陈朝的淮南之地,全部占有了长江以北地区。宇文邕准备进军江南,完成统一全国大业。由于突厥入侵幽州,他率兵北伐突厥,病死于军中。周武帝宇文邕死后,子宇文赟继位。宇文赟昏愦无能,朝政日趋腐败。他在称帝后的第二年把皇位传给7岁的儿子宇文阐,北周的军国大权遂旁落到外戚杨坚手中。581年,杨坚代周建隋。