东晋永和十年(354年)二月,征西大将军桓温出师进攻前秦,至太和四年(369年),他率军共进行了三次北伐,志在收复中原,提高个人威望,以代晋称帝。
永和十年二月,桓温第一次北伐,统领步骑4万从江陵(今湖北江陵)出发,经析县(今河南西峡)至武关(今陕西丹凤东南);水军则从襄阳入均口(今湖北均县)直逼至南乡(今河南淅川);同时命梁州刺史司马勋沿子午道(今关中直通向汉中之通道)攻秦。苻健遣太子苻苌、丞相苻雄等率军5万,屯于峣柳(今陕西蓝田南)。四月,桓温督师在今陕西兰田击败秦太子苻苌等率领的5万大军,进军灞上(今陕西西安东)。秦军被迫退守长安城。关中百姓纷纷持牛酒尉劳晋军,老人流泪说:“不图今日复见官军!”桓温终因军粮缺乏而于六月被迫撤退。
永和十年七月,桓温第二次自江陵北伐。八月逼近洛阳,在伊水(今河南洛阳南)大败羌兵统领姚襄的军队,收复洛阳。姚襄退至襄陵(今山西临汾东南),后西入关中,为前燕苻生所杀。桓温很快还兵江陵,只留毛穆之等两千多人戍守,又将降民3000余家迁至江、汉之间,随后颖川、谯(今安徽亳县)、沛(今安徽濉溪西北)诸城相继为前燕占领。隆和元年(362),桓温建议迁都洛阳,主张将永嘉之乱以来南迁的北人全部迁回河南。南下士族纷纷反对,而桓温也只是借此威胁朝廷。由此引起大臣们的互相猜疑和牵制,内部不和给前燕可乘之机。兴宁三年(365)三月,洛阳终于被前燕占领。
太和四年(369),大司马桓温已进位大司马、都督中外诸军事、扬州牧,并兼任徐、兖二州刺史。为了树立更高的威望以便代晋,桓温决定进行第三次北伐,征讨前燕。四月,桓温率步骑5万从姑熟(今安徽当涂)出发,六月抵达金乡(今属山东)。命将士凿巨野(即大野泽,在今山东巨野北)300里,引汶水于清水以利舟师自清水入河。一路所向无敌,七月进至枋头(今河南汲县东北);同时派遣檀玄在黄墟(今河南杞县东南)同燕军作战,大败燕征讨大都督慕容厉。燕主慕容玮大惊,向前秦求援。八月,前秦出动步骑2万救燕。燕、秦联兵与桓温大战,晋军数战不利,且因孤军深入,军粮不继而被迫焚烧船只,抛弃辎重、铠杖,从陆路撤退。在襄邑(今河南睢县)东涧又遭到燕军袭击,损失3万余人。在谯郡再受前秦军袭击,又损失1万多人。十月,桓温收散卒屯兵山阳。第三次北伐以失败告终。
