永和十二年(356)年,桓溫進行第二次北伐,目標是占據許昌的姚襄。八月,桓溫率軍與姚襄接戰於伊水(今河南洛陽南),大敗姚襄,殺傷其將士數千人,姚襄敗走平陽(今山西臨汾西南)。據守洛陽的周成率眾出降,晉軍收複洛陽。桓溫進入洛陽後,留潁川太守毛穆之、督護陳午、河南太守戴施率將士2000人戍守洛陽,自己率軍返回江陵。桓溫的第二次北伐擊走姚襄,收複洛陽,有一定的成果,但洛陽後又被前燕攻占,得而複失。

桓溫自第二次北伐後,權勢更重,中外軍政大權集於一身,其諸弟皆身居要職,桓氏勢力一時甚盛。桓溫為了再以勝利提高自己威望,於太和四年(369)發動第三次北伐,進攻目標是鮮卑慕容氏所建的前燕。當年四月,桓溫率5萬大軍北伐。七月,晉軍進至枋頭(今河南浚縣西南),距前秦首都鄴城(今河北臨漳西南)僅200餘裏。然而桓溫沒有乘敵軍慌亂之時直搗鄴城,反而頓兵枋頭,徘徊於河岸不進,意欲不戰而勝。這就給了前燕以喘息之機。前燕派吳王慕容垂率領5萬燕軍迎擊晉軍,同時遣使向前秦求救。八月,前秦主苻堅派大將苟池率軍2萬東出救燕。桓溫打算打通石門(今河南潁陽北)水道運糧,慕容垂派兵1.5萬人屯石門,又派軍5000斷絕晉軍糧道。水運不通,軍糧匱乏,晉軍幾次與燕軍交戰都未取勝,又聽說前秦援軍將至,於是桓溫決定焚毀舟船、丟棄輜重,從陸路退兵。桓溫退至襄邑(今河南雎縣西),遭到慕容垂的伏擊,晉軍大敗,損失3萬餘人。此後,前秦援兵苟池又於路邀擊桓溫,晉軍又死傷萬餘人。桓溫的第三次北伐遂以慘敗告終。

東晉前期的這幾次北伐,其出發點頗不一致,祖逖誌在恢複中原;褚裒、殷浩的北伐在於抵製桓溫勢力的增長;而桓溫的三次北伐,其真正目的並不是想收複中原,而是誌在立威,欲以功名鎮江東,伺機取晉室而代之。因此,桓溫在作戰中務求持重,在大好形勢下常常觀望不進,貽誤戰機。這就使本不集中的力量互相牽製、抵銷,屢次北伐而屢次無成。

東晉最高統治者所實行的不圖進取、偏安一隅的傳統國策是北伐失敗的最主要原因。在這種國策之下,東晉的曆次北伐不僅得不到起碼的支持,反而無一例外地受到朝廷上下的反對,遭到王公大臣的掣肘和刁難。在這種情況下,北伐的接連失敗就是勢所必然的了。

後期北伐

太和八年(383),東晉在淝水之戰中以少勝多,大破秦軍。淝水之戰後,東晉獲得了乘勝北伐,收複中原的絕好機會。然而,東晉的統治階級仍完全滿足於偏安的局麵,沒有了恢複土地的要求和決心。並且隨著外部威脅的相對緩和後,東晉內部爭權奪利的鬥爭也越演越烈。元興元年(402),割據江、荊的桓溫之子桓玄利用孫恩起義的機會,攻下建康,次年自立為帝,改國號為楚。出身寒門的北府將領劉裕起兵趕走桓玄,恢複晉室,掌握了東晉大權,開始了東晉後期的北伐戰爭。

劉裕(363~422),字德輿,出身寒門。劉裕在掌握東晉大權後,實行了打擊豪強、整頓吏治、減輕人民負擔等一係列改革措施,使東晉末年的政治經濟較前有所改善。在此基礎上,劉裕先後發動了兩次北伐戰爭並獲得成功,威望大增,為後來代晉稱帝掃清了道路。當時與東晉相鄰的北有南燕,西有後秦,因此劉裕德北伐目標也即是南燕和後秦。