东晋在江南建立之时,中国北方陷入混战,黄河流域成为匈奴、颉颃、鲜卑、氐羌五大少数民族与汉族的必争之地,分别建立自己的国家,争霸天下,国家不断建立和灭亡。
从永兴元年(304)匈奴贵族刘渊建立汉国,到建兴四年(316)灭西晋,到北魏太炎五年(439)统一北方。在这130年间,北方各民族相互争斗。先后建立了前赵(匈奴)、后赵(桀)、前燕(鲜卑)、前梁(汉)、前秦(边)、后秦(羌)、后燕(鲜卑)、西秦(鲜卑)、后梁(边)、南梁(鲜卑)。
除十六国之外,还有冉闵建立的魏、、、慕容、拓跋五个政权,先后建立了21个政权。在上述政权中,后赵、颜倩和前秦都占据了北方大部分领土。
东晋虽然偏安江南,但皇帝在位时希望收复北方领土。从北方迁到南方的人常常思念家乡,于是一些仁人志士多次北伐。其中,王、谢、桓、郁四大世家大族对北伐采取了不同的态度。因为宗族已定居江南,南方的丰厚资产使得回归北方的意愿较低。东晋时期多次北伐,其中不乏名将。
东晋初,朝廷采取攻守的态度抵御北方。317年,祖逖打算北伐,晋武帝只给了少量的军队,命令他前进。他招募难民建立军队,与当地的码头堡合作。最后,他成功收复了黄河以南的领土,并与施乐隔河相持。但由于东晋内乱,朝廷担心他威望太高。321年,戴源被任命为巡抚,从而使收复河北的计划落空。祖逖死于悲伤,失去了他的土地。王敦不用担心祖逖的死,然后他就叛逃了。祖逖的军队由他的弟弟指挥,最后和苏军一起叛逃..晋称帝后,郁亮和兄弟主持北伐战争。他们以荆州为中心,打算发动北伐。但由于法院的抵制,没有实现。俞氏兄弟死后,桓温被任命为荆州刺史。他向往刘琨、陶侃的事迹,以北伐为己任。
346年,晋穆帝时,桓温讨伐程汉(338年程汉为李寿篡位,改国号韩),次年被杀。桓温名气太大,家族嫉妒,执政的司马懿带领殷浩与之抗衡。
公元349年石虎去世,晋朝派楚太祖北伐,结果失败。桓温多次希望北伐,但被金庭拒绝,于是由殷浩负责北伐。
352年,殷浩联合羌兵北伐姚襄至前秦,被苻坚击败。次年,殷浩再次北伐,遭到姚襄的攻击。
354年,金廷不得不撤换负责北伐的桓温。桓温先后三次北伐,同年二月,征服前秦。但由于福建的清场战术,打败了金军,桓温最终因缺粮而败退。
356年,桓温讨伐姚襄,大败收复洛阳,建皇陵。
358年,他建议迁都洛阳,但遭到宗族反对。晋哀帝和晋妃(即司马懿)相继称帝后,桓温已经控制了朝廷。当时北方呈现秦、燕两强的局面,洛阳被颜倩占领。为了准备篡位,桓温于369年讨伐颜倩。当时燕军大败,金军进入房头(今浚县附近)与燕国大将慕容垂对峙。最后,晋军因缺粮而撤退,慕容垂率军杀了他,晋军大败。
371年,桓温废晋帝司马懿为东海王,改司马昱为简文帝。第二年,简文帝死了,晋孝帝继承了王位。373年,桓温要“九锡”,意思是要取代金。大臣谢安、王推辞此事,不久桓温病死,东晋得以保全。