北府军又称北府兵,是我国东晋时期由北方流民组成的军事组织,成为南朝的主力军。东晋孝宗太原二年(377年),因为前秦已经统一了中国北方,东晋在空之前处于军事压力之下,所以请求一个优秀的将军去征服北方。
当时谢安任命自己的侄子谢玄升官。朝廷任命谢玄为建武将军、兖州刺史、广陵都督、江北军政监、广陵镇。当时广陵、京口居住着大量逃离北方战乱的难民。谢玄上台后,从这些人中挑选了勇敢的士兵,如刘牢之,并建立了一支军队。
太原四年(379),谢玄改镇为京口。因为当时京口还叫北府兵,所以它的军队就叫北府兵。太原八年(383年),北府兵在淝水之战中击败前秦军队,追击。曾经追过叶,北府兵在一战史上扬名立万..太原十二年(387年),谢玄被解除北府兵领导职务,司马田和王恭相继接替,使北府兵成为军阀。公元397年,晋安皇帝隆安元年,王恭率北府兵抗击金,次年杀之,改任北府兵首领。
此后,北府兵主要致力于镇压孙恩、鲁迅等天师道叛军。晋安帝元兴元年(402年),北府兵奉命攻克在荆州四分五裂的桓玄,刘牢之随即向桓玄投降。桓玄入主建康后,削减了刘牢之的军权,刘牢之有意对抗桓玄。但由于向桓玄投降,他早已失去民心,自杀身亡。元兴三年(404),恒玄称帝。北府兵汉武帝从军,率领其余军队在京口揭竿而起,反杀桓玄。从此,北府兵成为刘裕的军事支柱。420年,刘裕称帝,建立宋朝,北府兵成为他的皇军主力。
除了抵御北方强敌的入侵,谢安组建北府兵还有一个目的,那就是改变扬州“重而弱”的局面。
康宁孝宗三年,桓冲将扬州之权割让给谢安,成为徐、豫、燕、青、阳五州军部兼徐州刺史,留京口镇。次年,谢安欲取父王允,孝武帝皇后,为方伯。“是以救济徐州,骑将军督豫赣六郡军务,由京口移镇。”太原二年,镇守荆州的桓死了,桓冲又督蒋、荆、梁、伊、宁、交、广七州军务,兼荆州刺史。谢安让桓冲从京口退守旧地,再到桓家的根据地荆州,主要是借用了楚皇后和王皇后的职权。
为了从根本上改变没有军队支持的局面,谢安下令宣在广陵设置北府兵。建立之初,桓冲在荆州,仍以四方镇为己任,看不起扬州的实力。淝水之战,崇“遣精兵三千,以资根本虑”,以为谢无用,结果出乎意料。桓冲死后,荆、江两州缺守,谢安仍取桓冲侄儿镇荆州,桓石阡镇禹州,改桓邑为江州。“即按三态,互无怨言,各得其所。”朝廷出现了难得的安定局面,这与谢安的处置有关,但也起到了平衡北府兵势力的作用。
一个更明显的事实是,在北府兵建立之前,往往是镇守荆州的城镇会轻易反叛中央。北府兵建立后,荆州镇就要联合守京口的将领才能成功。晋安帝兴元元年,荆、江州刺史桓玄造反,通过贿赂金陵军部,燕青、冀、尤、贺、徐、扬州统帅,南燕、南清刺史而得势。然后刘裕打败桓玄恢复进士室,最后换成了晋帝,依靠北府兵作为骨干。