前秦在淝水吃了敗仗,北方又陷入一片混亂,太元九年(384)八月,晉太保謝安向皇帝司馬曜建議道:“前秦正在土崩瓦解,我們應該抓住有利時機,出師北伐,收複中原失地,繼而一統天下。”
司馬曜一聽很興奮,當即同意,並任命謝安為都督揚、江、荊、司、豫、徐、兗、青、冀、幽、並、寧、益、雍、梁十五州諸軍事,加黃鉞,其他官職照舊。東晉當時一共控製著十七個州,謝安一個人就管著十五個州的軍事,可以說司馬曜是把全國的軍隊都交給謝安調度了,他對謝安是無比信任的。謝安上書請求辭掉自己的爵位和太保之職,司馬曜不許。
之前二月份的時候桓衝去世,當時朝廷內就有聲音說應該讓謝玄任荊州和江州的刺史,但謝安不同意。他主要有兩點顧慮,一是他和侄兒權力都太大的話,會引起朝中人的嫉妒,繼而就會引禍入家門;二是經營荊州多年的桓家一旦失去荊州,可能會生亂。於是在謝安的建議下,朝廷任命桓石民(桓豁之子)為荊州刺史,桓石虔(桓豁之子)為豫州刺史,原豫州刺史桓伊為江州刺史。
現在謝安掌管全國軍事大權,任命謝玄為前鋒都督,率豫州刺史桓石虜北伐。前秦的徐州刺史趙遷聽說謝玄率軍來伐,不戰而逃,謝玄順利進入彭城。
九月,謝玄命手下大將彭城內史劉牢之率軍攻打前秦兗州刺史張崇守衛的鄄城。九月十一日,張崇棄城而逃,前去投奔後燕慕容垂,劉牢之進入鄄城。聽聞消息,黃河以南的各城池、塢堡紛紛投降東晉。
謝玄又派陰陵太守高素率軍攻打前秦青州刺史苻朗據守的廣固城。高素的軍隊剛抵達琅琊郡,距離廣固還有一段距離的時候,懾於晉軍的聲威,苻朗就已經趕過來投降了。
後燕軍剛走,晉軍又到,苻丕派人到晉陽征召驃騎將軍張蠔、並州刺史王騰來增援自己,但張蠔、王騰因為自身部隊人數不多,沒有派兵。