淝水战后,前秦很快地崩溃了,北方又走向了分裂。公元386年,鲜卑族拓跋部在山西北部建立了政权,并逐渐向南发展。拓跋部建立的政权最初称代,灭后燕取得河北后又改称魏,历史上称做北魏。公元439年,北魏统一了北方。
当时,在黄河流域,大地主田庄进一步发展起来,许多大地主往往控制几百家、几千家的农民,甚而还拥有武装,成为北魏政府加强对各地方控制的对抗势力。在这种情况下,北魏政府不得不承认大地主在地方上的势力,拉拢他们到政府里去做官,承认他们对其所控制的农民的剥削权力。农民在北魏统治者和大地主的压迫下,非常困苦,不断举行起义。
北魏统治者认为,为了缓和自己统治下各族人民的反抗和增加国家财政的收入,就必须把劳动人口从大地主手里夺过来。公元485年,大臣李安世向北魏孝文帝拓跋宏上书说:在荒年里,人民逃亡,他们的土地多半被豪强地主霸占,现在应当均量土地。孝文帝采纳了这个意见,派大臣巡行州郡,会同地方官吏实行均田。根据均田规定男丁十五岁以上受露田(耕种谷物的田)四十亩,妇女二十亩,种植各种谷物。因为土地要休耕,故实际上都得加倍受田。休耕两年的,三倍受田。此外男丁给桑田二十亩,种桑树、枣树和榆树。农民年老或死亡,露田要归还政府,桑田由农民永远使用,不还。
受田农民,一夫一妇每年要交纳租税粟二石,帛一匹,男子还要服徭役和兵役。
那时候,往往三五十家共立一个户籍,大地主隐匿的农户很多,妨碍着均田制的实行。孝文帝颁布均田制的第二年,大臣李冲建议,实行三长法:五家组成一邻,五邻组成一里,五里组成一党。邻有邻长,里有里长,党有党长,合起来称做三长。三长负责检查户口,征收租税和征发徭役等。许多大臣本身就是大地主,隐匿的农户很多,他们群起反对李冲的主张。文明太后(太皇太后)和孝文帝为了加强自己的统治力量,坚决支持李冲。他们说:"立三长制使租税有一定的准则,可以把逃避租税的人口清查出来,为什么不能实行呢?"结果,三长法在文明太后和孝文帝的坚决主张下实行了。
均田制、长法实行以后,许多被大地主隐匿的不交租税的人口清査出来了。北方农民有了一定的土地,生活和生产比以前安定了,更多的荒地随着开垦出来了。北魏的农业得到了迅速的恢复和发展。
为了同黄河流域的汉族大地主取得联系,进一步巩固北魏的政权,孝文帝决心把都城从平城(山西大同)迁到洛阳。孝文帝知道,迁都一定会遭到各方面阻挠。他召集文武大臣,宣称要大举进攻南朝。以任城王拓跋澄为首的大臣纷纷反对。退朝后,孝文帝召任城王入宫,对他说:"我们鲜卑人起自北方,首都平城,这是用武的地方,不能作为'文治'的中心。我想以进攻南朝的名义,带领大家南下,迁都中原。你的意见怎样?"拓跋澄领会了孝文帝的意思,知道单凭武力不能长久维持自己的统治,必须拉拢汉族地主,用政治来维持国家,他全力拥护迁都的计划。公元493年,孝文帝带领步骑三十万南下,到了洛阳,还表示要继续南进,群臣要求停止南伐,孝文帝借此对大家说:"你们既然不愿意南下攻伐南朝,就得听我的话,迁都洛阳。"第二年,北魏正式迁都。迁都洛阳后,孝文帝对于改革鲜卑风俗、推行汉化政策更加积极。他下令鲜卑贵族采用汉姓,同汉族大地主通婚,改穿汉人的服装,说汉语。他自己带头改拓跋氏为元氏,并要所有迁到洛阳的拓跋贵族,都算作洛阳人。他还全部采用了汉族封建制度。
北魏孝文帝的改革,增加了国家的财政收入,巩固了封建的统治,加速了鲜卑族和汉族人民的融合。