东晋谢安任相时期,长江下游地区军事力量薄弱,长江上游的桓氏势力和北方的前秦军队都对首都建康造成了威胁。为了解决以上问题,谢安决定组建新军。晋孝武帝太元二年(377年)十月,朝廷任命谢安侄子谢玄为南兖州刺史,负责筹组新军。谢玄随即把南兖州的军事机关从京口(今江苏镇江市)移到广陵(今江苏扬州市),南徐、南兖两州侨户纷纷应征人伍。当时彭城(今江苏徐州市)刘牢之等数人以骁勇应选,谢玄任命刘牢之为参军,率领精锐作为前锋。因为晋朝百姓称京口为北京,所以当时人称这支军队为“北府兵”。太元四年(379年)五月,前秦兵进攻淮南,并包围三阿。北府兵援救三阿,一战告捷,迫使前秦兵向北退逃,显示了新军强大的实力。太元八年(383年)淝水之战,北府兵更是表现神勇,成为击败前秦的中坚力量。在东晋内部各政治集团争斗时,都想把北府兵拉到自己的一方,北府将领也在左右东晋政局中占重要地位。