当初,苻丕等围攻襄阳的时候,前秦兖州刺史彭超向苻坚上书,要求攻打据守彭城的晋沛郡太守戴遁,彭超在奏书中说:“请陛下派重兵进攻淮南的城池,以策应征南大将军苻丕,东西并进,不愁建康不灭。”
苻坚同意,任命彭超为都督东讨诸军事,率后将军俱难、右禁将军毛盛、洛州刺史邵保和七万兵马,进攻晋的淮阴、盱眙。
太元三年(378)八月,彭超开始向彭城发起攻击。晋帝司马曜下令,命右将军毛虎生带领五万士兵镇守姑孰,以备抵抗前秦。
兖州刺史谢玄也率领一万北府精兵前往彭城救援,到达泗口后驻扎。他准备先派人通知彭城城内的戴遁,告诉他北府兵已经赶来支援,让他不要惊慌,坚守城池。探子探得进城的陆上道路已经被前秦封锁,只有水路可走,于是谢玄对众位将士说道:“哪位将军愿意潜水进城送信?”只听帐下一人高声道:“小将愿往!”谢玄一看是小将田泓,很高兴,对他说:“田将军要注意安全。”
田泓水性很好,他潜水前行,眼看就要到达城墙下了,不想前方水路也已经被前秦士兵看死,他们发现了田泓,把他打捞上来后捆绑起来送到彭超面前。
彭超命人给田泓松绑,笑嘻嘻地对田泓说道:“田将军受惊了,请不要害怕,我是爱才之人,如果你能听从我的吩咐,我保证让你享受荣华富贵。”
田泓道:“愿闻其详。”
彭超接着说:“你去彭城城下大喊,说援军已经被击退,就可以了。”
田泓眼珠一转,说道:“可以。”
彭超大喜,送给田泓不少金银财宝,然后命人带田泓来到城下。田泓对着城楼上高喊道:“谢玄将军率领的援军马上就要到了,谢将军派我先来告知你们!我已经被敌人俘虏,你们要坚守城池,等待援军!”
旁边的前秦士兵一听不对,这跟以前说的不一样,抽刀就把田泓杀死了。
军需辎重是军队命脉所系,而彭超的物资都留在了留成(今江苏沛县),于是谢玄心生一计,对外扬言说要派后军将军何谦进攻留成,何谦也配合地整军出发。彭超得到消息,迅速从彭城撤兵,回军留成。
彭城之围解除,戴遁率部众跟随何谦投奔了谢玄。彭超知道上当,又率军前来,这时候彭城已经成为一座空城了。彭超率队入城,留下治中徐褒镇守此地,自己则率军南下攻击盱眙。这时候襄阳的战事已经结束,前秦将领毛当、王显率两万士兵从襄阳出发,和彭超会合。俱难也攻下了淮阴,同样领兵来到盱眙。
太元四年(379)五月十四日,彭超和俱难攻陷盱眙,生擒晋高密内史毛璪之。
前秦的六万大军开始进攻幽州刺史田洛所在的三阿,把城池团团包围。三阿距离广陵只有一百多里,晋国朝野震惊,朝廷命加强防备,并派谢安的弟弟征虏将军谢石率水军防守涂中,谢玄则从广陵率大军前往三阿救援。
前线吃紧,战争支出也比较大,又遇上庄稼歉收,司马曜为表示支持,特别下诏,让皇室节俭开支,文武百官的俸禄也暂时减半,国内的基础建设如非军用,统统暂停,节省下来的经费均供应前线。
五月二十五日,前秦军与晋军遭遇。此时晋国的北府兵在谢玄的训练下已经成了一支劲旅,军容严整,战斗力爆棚,彭超和俱难初遇北府兵,被打得丢盔弃甲,只好暂时退回了盱眙。
六月七日,谢玄率军进攻盱眙,彭超和俱难再败,撤退到了淮阴。
当时正遇潮水上涨,何谦趁机率领水军在夜间突袭前秦军,刘牢之率人放火烧毁了前秦搭建的浮桥及部分船只,谢玄自己也率军进攻,力斩前秦洛州刺史邵保。彭超和俱难三败,退守到淮河以北。
谢玄继续率军追击,彭超和俱难也想挽回点面子,于是两军在君川展开一场大战。北府兵将士个个如猛虎下山,锐不可当,彭超和俱难第四次战败。这次他们不再犹豫,向北疯狂逃窜,帽子也跑掉了,兵器也扔了,铠甲也卸了,整支军队狼狈不堪,唯恐逃之不及。
苻坚知道消息后大怒,命人用囚车把彭超和俱难押到长安。彭超恐惧之下自杀,俱难被贬为平民百姓。之后,苻坚任命毛当为徐州刺史,镇守彭城;毛盛为兖州刺史,镇守湖陆;王显为扬州刺史,镇守下邳。
谢玄率领的北府兵连连取得大捷,震动天下,从此,北府兵成为人们口中一支声名响亮的雄师劲旅。
谢玄率军返回广陵,司马曜大喜,下诏封谢玄为东兴县侯,并晋升他为冠军将军,兼领徐州刺史。