公元383年,前秦皇帝苻坚率大军南下,企图一举统一中国。此时的东晋面临着自立国以来最大的威胁。不过,在宰相谢安的运筹下,谢石、谢玄率北府兵大败前秦军队,取得了淝水之战的决定性胜利。淝水之战后,短暂统一的北方重新归于分裂,东晋则乘势收复了徐、兖、青、司、豫、梁六州,取得了东晋北伐历史上的第一次重大胜利。此时,原先北方强于南方的局面发生了逆转,胜利的天平开始倒向南方。然而,东晋朝廷却并没有利用这个有利时机改革内政,收复故土,而是加紧了内部的权利争夺和对人民的剥削。这最终引发了内战和孙恩、卢循起义。北府兵将领刘裕不仅通过镇压农民起义,树立了威望,还杀了一度篡晋的桓安,恢复了东晋的统治,权势如日中天。
在东晋爆发内乱到刘裕把持东晋大权这段期间,北方仍然是混战不已,南方虽然遭受了一定的破坏,但在刘裕实行一系列改革之后,国力迅速得到恢复,南方对北方的优势地位并没有发生变化。
公元416年,刘裕率将军王镇恶、檀道济、沈田子等分五路,水陆并进,攻后秦国,沿途收复滑台(河南滑县)、许昌、洛阳等重镇。次年,刘裕军攻破长安,灭后秦国。在消灭了后秦,攻取关中地区之后,刘裕本来想以此为基地,一举收复中原,实现汉高祖刘邦那样的帝业,但留守建康的主持大局的刘穆之的突然死亡彻底打乱了刘裕的计划。由于担心大权有旁落的危险,再加上将士们都普遍思念家乡,远征在外的刘裕不得不仓促东还。在关中的陇上流民,以为刘裕会继续进军,正好可以回到家乡,看到刘裕东还,非常失望。而关中的汉族百姓也非常失望,他们争相到军前去挽留刘裕,但刘裕已经无心在此,安慰了他们一番后,就率领晋军主力匆匆赶回建康。不久之后,关中地区得而复失,还损失了像王镇恶、沈田子、傅弘之、朱龄石、蒯恩等一批很有能力的北府新锐将领,但总的来说,刘裕的这次北伐应该是东晋乃至整个魏晋南北朝时期,南方对北方优势最大的一次,如果刘裕没有班师的话,说不定收复中原的梦想就能实现了。不过历史没有假设,历史就是因为种种的不完美才显得精彩,完美的故事应该只出现在剧本里。
刘裕回到建康后,他在地主阶级中的威望进一步提高,取代东晋的时机日益成熟。公元420年,刘裕废东晋恭帝司马德文,自立为帝,国号宋。公元422年,当了三年不到的宋武帝刘裕就病死了,在短暂的废立风波之后,三子刘义隆即位,也就是后来的宋文帝。刘裕的死,打破了南北的战略平衡,他刚刚死,北魏就抓住正在回国路上的刘宋使者,开始大举进攻刘宋。双方在河南发生大战,史称“魏宋河南大战”,战争结束后,刘宋丧失了湖陆(今山东鱼台东南)、项城(今河南沈丘南)以北的土地。然须提及的是:在虎牢失守的前夕,湖陆的檀道济军、项城的刘粹军、高桥(今地不详)的沈叔狸军都不敢救援,可见此时刘宋的力量,与刘裕北伐时相比,已经差得多了。这说明,在刘裕北伐后期,王镇恶、沈田子等人的死对刘宋军队来说可谓是伤筋动骨,到文帝时,朝中算得上能打仗的也就檀道济一人,后来的到彦之、王玄谟既缺乏能力,又缺少经验,只能空谈,檀道济被杀以后,刘宋更加无人了。河南大战同时也说明,北魏已然崛起,此时的北魏已经不再是当年大败于却月阵的北魏了,更不是当初被灭国的代国了。自此,优势已经开始转向北方。不过,当时的北方除北魏外,还有北凉、西凉、西秦、胡夏、北燕五国;此外,阴山以北,还有强大的柔然部落,其中胡夏和柔然都是北魏的劲敌,所以,北魏军在攻取河南之地后就停止了进攻,以免战线拉得过长,给敌人以可乘之机。
宋文帝即位后,就开始谋划收复北魏于公元422年夺去的河南诸军事重镇。公元430年三月,乘北魏刚与北方柔然交战、黄河以南屯兵减少之机,宋文帝命到彦之率军北伐。北魏太武帝拓跋焘命北魏军主动后撤到黄河北岸,因此刘宋军的进展也比较快,当年七月就收复了河南故地。不过,到彦之在这时犯了一个致命的错误,他命刘宋军沿黄河一线大摆长蛇阵,造成兵力的分散,他还不听旧将王仲德的忠告,对魏军冬季的反击估计不足。十月,魏军果然渡河展开全面进攻,连克金墉、洛阳、虎牢。到彦之则是畏北魏军如虎,一路奔逃,逃至历城(今济南),仍恐被魏军追及,下令焚舟弃甲,步趋彭城(今江苏徐州)。十一月,宋文帝为挽回颓势,加檀道济为都督征讨诸军事,率众北上。公元434年正月,檀道济等自清水往救滑台,至寿张(今山东东平西南),击败魏安平公乙旃眷,转战至高梁亭(今东平县境),斩魏济州刺史悉烦库结。二月,檀道济等进至济上,20余日间与魏军交战30次,多获胜利。至历城,因粮秣遭北魏军焚烧而乏食,不能前进。最终檀道济军粮尽退兵。
这次北伐以刘宋的完全失败告终,而其时北魏尚是两面作战(其西线正在进行消灭胡夏的战争),犹得取胜,可见南北方的力量差距。此后北魏忙于北方的统一战争,并于公元439年统一了北方,南方经过多年的休养生息,国力也得到了恢复,但此时南朝愈弱的局面已经是不争的事实了,因为北魏已经更加强大了。
不过此时的刘宋也处于自身的鼎盛之时,南北都有攻灭对方,统一中国的意图,于是双方不可避免地进行了一次大战,史称“元嘉之战”。