晋海西公太和四年己巳,公元369年春季,三月,大司马桓温请求与徐兖二州刺史郗、江州刺史桓冲、豫州刺史袁真等讨伐前燕。当初,郗在京口的北府时,桓温经常说:“京口酒可饮,兵可用。”对郗身居北府深为不满。而郗却不识时务,还给桓温写去信,想要共同辅佐王室,请求督领自己的部队渡越黄可北上。郗的儿子郗超是桓温的参军,拿来信看过后,便把信撕碎,重新改写了一封,信中诉说自己不是将帅之才,不能胜任军旅重任,而且年老多病,请求找一个悠闲的地方休养,劝说桓温把郗自己的部队一并统领。桓温见信后大喜过望,当即把郗调任为冠军将军、会稽内史。桓温自己兼任徐、兖二州刺史。夏季,四月,庚戌初一,桓温率领步、骑兵五万人从姑孰出发。
甲子十五日,前燕国主慕容立可足浑氏为皇后,她是太后的堂弟尚书令豫章公可足浑翼的女儿。
大司马桓温从兖州出发讨伐前燕。郗超说:“路途遥远,汴水又浅,恐怕运送粮食的水道难以畅通。”桓温没有听从。六月,辛丑疑误,桓温抵达金乡,因为天旱,水路断绝,桓温让冠军将军毛虎生在钜野开凿三百里水路,引来汶水会合于清水。毛虎生是毛宝的儿子。桓温带领水军从清水进入黄河,船只绵延数百里。郗超说:“从清水进入黄河,运输难以畅通。如果敌人不与我们交战,运输通道又断绝,只能靠着敌人的积蓄来作给养,那又会一无所得,这是危险的办法。不如让现有部队全部径直开向邺城,他们害怕您的威赫名声,一定会闻风溃逃,北归辽东、碣石。如果他们能出来迎战,那么事情就可以立见分晓。如果他们想盘踞邺城固守,那么值此盛夏之时,难以进行行动,百姓遍布各地,全都为官府所控制,易水以南的人一定会恭敬地向我们请求指令。只是怕明公您认为此计虽说锋锐但欠稳妥,胜负难定,而想一定要持有万全之策,那就不如停兵于黄河、济水,控制水路运输,等到储备充足,到明年夏天再进军。虽说拖延了时间,然而这只是期望必定成功而已。舍此二策而让绵延百里的军队北上,进不能迅速取胜,退则必然导致差错与粮晌匮乏。敌人顺应这种形势和我们周旋时日,渐渐地就到了秋冬季节,水路更加难以畅通。而且北方寒冷较早,三军将士穿皮衣冬装的很少,恐怕到那时所忧虑的,就不仅仅是没有粮食了。”桓温又没有听从。
桓温派建威将军檀玄攻打湖陆,攻了下来,擒获了前燕宁东将军慕容忠。前燕国主慕容任命下邳王慕容历为征讨大都督,率领二万步、骑兵在黄墟迎战,慕容厉的部队大败,他本人只身匹马逃了回去。高平太守徐翻带领全郡向东晋投降。前锋邓遐、朱序在林渚打败了前燕将领傅颜。慕容又派乐安王慕容臧统领众军抵抗桓温,慕容臧抵抗不住,就派散骑常侍李凤去向前秦求救。
秋季,七月,桓温驻扎在武阳,前燕过去的兖州刺史孙元率领他的亲族同党起兵响应桓温,桓温抵达枋头。慕容及太傅慕容评十分恐惧,谋划要逃奔到和龙。吴王慕容垂说:“我请求去攻打他们。如果不能取胜,再逃奔也不晚。”慕容于是任命慕容垂代替乐安王慕容臧为使持节、南讨大都督,率领征南将军范阳王慕容德等兵众五万人去抵御桓温。慕容垂上表,让司徒左长史申胤、黄门侍郎封孚、尚书郎悉罗腾全都跟随部队一同前往。申胤是申钟的儿子封孚是封放的儿子。
慕容又派散骑侍郎乐嵩去前秦请求救援,许诺把虎牢以西的地域送给他们。前秦王苻坚召郡臣到东堂商议,群臣们都说:“过去桓温讨伐我们,到达灞上,燕国不救援我们如今桓温讨伐燕国,我们为什么要救援!而且燕国不向我们称藩,我们为什么要去救他!”王猛悄悄地对苻坚进言说:“燕国虽然强大,但慕容评不是桓温的对手。如果桓温占据了整个崤山以东地区,进军驻扎在洛邑,收揽幽州、冀州的兵力,调来并州、豫州的粮食,在崤谷、渑池炫耀兵威,那么陛下统一天下的大业就全完了。眼下不如与燕国汇合兵力来打退桓温。桓温撤退以后,燕国也就精疲力竭了,然后我们乘着他的疲惫而攻取他,不是很好的事情吗!”苻坚听从了王猛的意见。八月,苻坚派将军苟池、洛州刺史邓羌率领步、骑兵二万人去救援前燕,从洛阳出发,到颍川后驻扎。又派散骑侍郎姜抚出使前燕报告。任命王猛为尚书令。
太子太傅封孚问申胤说:“桓温兵众强壮整齐,顺流直下,如今大军只在高岸上徘徊,兵不交锋,看不到取胜的迹象,事情将会怎样呢?”申胤说:“以桓温今天的声势,似乎能有所作为,然而在我看来,肯定不会成就功业。为什么呢?晋室衰微软弱,桓温专擅国家的权力,晋王室的朝臣未必都与他同心同德。所以桓温的得志,是众人所不愿看到的,他们必将从中阻挠以败坏他的事业。再有,桓温倚仗着军队人数众多而骄傲,不善于应变。大军深入以后,正值有机可乘的时候,他反而让部队在中途徘徊,不出击争取胜利,指望相持下去,坐取全胜。如果运输误期,粮食断绝,衰落的威势就会如实地显露出来,肯定是不战自败,这是当然之理。”
桓温让前燕投降过来的人段思作向导,悉罗腾与桓温交战,活捉了段思。桓温让赵国的旧将李述带兵巡行过去的赵、魏之地,悉罗腾又与虎贲中郎将染干津攻击并斩杀了他。桓温军队的士气低落。
当初,桓温让豫州刺史袁真攻打谯郡、梁国,开辟石门以使水运之路畅通,袁真攻克了谯郡、梁国,但没能开通石门,水运之路堵塞。
九月,前燕范阳王慕容德率领骑兵一万人、兰台侍御史刘当率领骑兵五千人驻扎在石门,豫州刺史李率领本州士兵五千为截断桓温运粮的通道。刘当是刘佩的儿子。慕容德派将军慕容宙率领骑兵一千人作为前锋,与东晋的军队相遇,慕容宙说:“晋人轻浮急躁,害怕攻入敌阵,勇于乘退追击,应该设诱饵以使他们上钩。”于是就让二百骑兵前去挑战,其他骑兵则分别埋伏在三处。去挑战的骑兵未交战就退逃,晋兵追击,慕容宙率领埋伏的骑兵展开攻击,晋兵战死的很多。
桓温交战屡屡失利,粮食储备又已空竭,又听说前秦的军队将要到来,丙申十九日,焚烧了舟船,丢弃了装备、武器,从陆路向回逃奔。任命毛虎生督察东燕等四郡的各种军务,兼任东燕太守。
桓温从东燕出了仓垣,一路上掘井饮水,走了七百多里。前燕的众将领都争着要追击桓温,吴王慕容垂说:“不行,桓温刚刚溃退,惊恐未定,一定会严加戒备,选择精锐士兵来殿后,攻击他未必能遂愿,不如暂缓一下。他庆幸我们没有追上,一定会昼夜急行,等他的士兵们力量耗尽,士气衰落,然后再去攻击他,攻无不克。”于是慕容垂就率领八千骑兵跟在桓温的后边慢慢前进。桓温果然兼程行进。过了几天,慕容垂告诉众将领说:“可以攻打桓温了。”于是就迅速追击,在襄邑追上了桓温。范阳王慕容德先率领精锐骑兵四千人埋伏在襄邑东面的山涧中,与慕容垂夹击桓温,桓温大败,被斩首三万多人。前秦人苟池在谯郡迎击桓温,又攻破了他,战死的兵众又数以万计。孙元乘机占据了武阳以与前燕抵抗,前燕左卫将军孟高讨伐并擒获了他。
冬季,十月,乙巳二十二日,大司马桓温收拢溃散的士兵,驻扎在山阳。桓温对遭受失败深感耻辱,于是就把罪过归咎于袁真,奏请黜免袁真为庶人,还奏请罢免冠军将军邓遐的官职。袁真认为桓温诬陷自己,不服,于是就进上表章陈述桓温的罪行。朝廷没有回音。袁真于是便占据寿春反叛,投降了前燕,而且请求前燕救援,也派遣使者去到了前秦。桓温任命毛虎生兼任淮南太守,戌守历阳。
前燕、前秦缔结友好关系后,使者便频繁往来。前燕散骑侍郎郝晷、给事黄门侍郎梁琛相继到前秦。郝晷与王猛有旧交,王猛和他叙说往事,向他询问东边的事情。郝晷看到前燕朝政混乱而前秦天下大治,暗中想依附于王猛,于是便泄露了很多实情。
梁琛抵达长安,前秦王苻坚正在万年打猎,要把梁琛带到这里见面。梁琛说:“秦国的使者到了燕国,燕国的君主臣下都穿好朝服,备好礼仪,打扫干净宫庭,然后才敢见面。如今秦王要在郊野会见我,使臣不敢听命!”尚书郎辛劲对梁琛说:“宾客入境,只能是客随主便,你怎么能专断别人的礼仪呢!况且天子称为乘舆,所到的地方叫行在所,哪里有固定的居所呢!再有,春秋当中也有路途相遇的礼节,又有什么不可以的呢!”梁琛说:“晋室纲纪混乱,神明的赐福归于有道,秦、燕二国继承天运,全都接受了神明的赐命。然而桓温猖狂无忌,窥视我们的王土,如果燕国遭受危险,秦国必然孤立,势必难以独立于世,所以秦国的主上和我们一样对时患感到忧虑,相邀结为友好,互相支援。我们燕国的君主臣下,翘首西望,深为燕国软弱、给邻国带来忧虑而惭愧,秦国的使臣前来辱见,我们都十分尊敬地对待他。如今强敌已经后退,我们的交往刚刚开始,照我看应该崇尚礼仪,笃行大义,以加强两国的友好关系。如果忽视慢待使臣,就是看不起燕国,这难道是友好的象征吗?天子以四海为家,所以天子出行叫乘舆,停留叫行在。如今天下分裂,天光分照二国,怎么能以乘舆、行在作为托辞呢!根据礼制,事先没有约定而偶然相见称为遇。因为这是顺便行事,所以礼节简略,难道是平常闲居在家时所应该遵奉的吗!使者只身单行,威势确实低于主人,但是假若不以礼相待,也不敢从命。”于是,苻坚就为梁琛设置行宫,让众多的官吏奉陪,然后才请客人前来,就像前燕的礼仪一样。
事情结束以后,苻坚又为梁琛摆设私宴,问道:“燕国以贤能著称的臣下是谁?”梁琛说:“太傅上庸王慕容评,是有完美德性与才能的亲属,光大、辅佐王室车骑大将军吴王慕容垂,勇武和谋略冠世,抗击敌人抵御外侮其他人有的以文才进身,有的以武略被用,官吏全都称职,民间没有被遗漏的贤能人才。”