377年,前秦天王苻坚在名相王猛的辅佐下,先后攻取了东晋的梁、益二州,北并代国,西兼前凉,远征西域,完成了北方的统一。苻坚志在天下一统,因此频频对僻居东南的东晋用兵。面对巨大的军事压力,东晋宰相谢安推荐其侄谢玄为建武将军、兖州刺史,领广陵相、监江北诸军事,镇守广陵。谁也不会想到这将是一个改变历史的选择!
当时广陵、京口地区聚居着大量逃避北方战乱而来的流民,他们心恋故国,因而勇猛无比。谢玄到任后,在这些人中召募劲勇,组建了一只新式军队,许多后来大名鼎鼎的人物均加入了这支队伍,如刘牢之、刘裕、檀道济等人。379年,谢玄率领这支军队改镇京口,京口又名北府,因而将其军命名为北府军。
383年8月,前秦天王苻坚亲率步兵60万、骑兵27万,开始大举南侵。大军压境之际,谢石、谢玄率8万北府军迎战。11月,北府军前锋刘牢之率领五千精兵大败秦军,斩杀秦军主将梁成及其所属五万军队,取得洛涧大捷。不久后的淝水之战,谢玄率领八万晋军,击溃了苻坚、苻融所统率的前秦二十五万大军,苻融当场被斩杀,苻坚身中数箭,落荒而逃。
此战后,强盛一时的前秦土崩瓦解,东晋王朝虽无力恢复统一中国,但却出兵收复了黄河以南的领土,有效地遏制了北方少数民族的南下侵扰,保住了东南半壁江山,也使得流落到南方的汉族中原文化得以延续和发展,谢氏领导的北府军为此发挥了极为关键的作用。
淝水之战使得谢氏的名誉达到了顶点,东晋孝武帝开始逐渐不信任谢氏,他先后解除谢安的宰相职务,以及谢玄的兵权。孝武帝任命自己的兄弟司马道子为相,总理朝政,同时任命自己的妻兄王恭统帅北府军。此后王恭与司马道子发生矛盾,北府军成为朝廷内部火并的工具。之后北府军司马刘牢之在得到司马道子的许诺后,将王恭杀死,成为北府军的新统帅。
399年,孙恩、卢循发动农民起义,起义军迅速占领江东八郡。东晋朝廷见起义军声势浩大,急忙派刘牢之率北府兵前往镇压,孙恩战败后自杀。在对付孙恩的起义军中,一位将领脱颖而出,此人就是后来的宋武帝刘裕。
402年,东晋朝廷的执政者司马元显决定讨伐准备拥兵叛乱的桓玄,派出刘牢之为前锋都督,率北府军征讨。刘牢之也是位军事天才,政治上的弱智,他接受桓玄的许诺,选择背叛朝廷。最终桓玄北齐诺言,大肆杀戮北府军将领,军队责备桓玄瓜分,刘牢之被迫自杀。
404年,北府军将领刘裕在京口举兵,反抗桓玄,重建北府军。北府军在刘裕的统帅下,再次大显声威。灭南燕、平后秦,却月阵大破北魏骑兵,如果不是刘裕选择返回江南,甚至大有重整天下之势。刘裕死后,北府军依然是刘宋王朝抵御北魏的重要军事力量。436年,北府军最后一员名将檀道济被杀,至此这只由流民组成的精锐军事力量才正式落下帷幕。