北府军，又名北府兵，是中国东晋时谢玄所创立的一支军队，一开始军权几乎只属于陈郡谢氏家族，后数度易主，并成为东晋中后期及刘宋前期的军队主力。组建时本无名，后来因著这支军队百战百胜的战绩名气而称作北府军《晋书·刘牢之传》：玄以牢之为参军，领精锐为前锋，百战百胜，号为「北府兵」，敌人畏之。，而「北府」之名出于获授都督徐兖二州诸军事者之将军号常以北为号，故其军府所在为北府，晋徐兖二州军府常镇建康东北方之京口，故当时人亦称京口为「北府」。
背景
京口发展
西晋末年时因为北方渐渐陷于胡族建立之政权之手，且战事频仍，原居北方的士族及人民都开始向当时相对安定的南方迁移，其中宗室司马睿在士族支持下驻镇建康，控制南方，并在西晋亡后建立东晋朝廷以延晋祚。而江淮之间则有大批人民流寓其间，由从北方来的地方乡党担任之流民帅统领，更因长期与外族政权作战而有相当战斗经验。这些流民帅不少具有北返收复故土的心愿，而东晋朝廷亦提防流民集团大举涌到江南地区造成动荡。故司马睿在西晋末年及东晋初年，以出身琅邪王氏的王舒先后以东中郎将司马绍之司马、车骑将军司马裒之司马及北中郎将、监青徐二州军事身份驻镇江北的广陵，以对江淮流民作控制《晋书·王舒传》：明帝之为东中郎将，妙选上佐，以舒为司马。转后将军、宣城公褚裒咨议参军，迁军司，固辞不受。裒镇广陵，复以舒为车骑司马。频领望府，咸称明练。裒薨，遂代裒镇，除北中郎将、监青徐二州军事。331-5。
高平郗氏的郗鉴于永嘉之乱后在家乡救济人民，获推为主并领著千余家到鲁县的峄山上避难。郗鉴及后虽获司马睿承制任命为兖州刺史，移镇邹山，但其时兖州有不同行台任命的刺史各自为政，并且屡遭外族政权侵攻，更有饥荒，所领流民处境恶劣，三年间所领人数却反增至数万人。然而郗鉴终在永昌元年（322年）逼于北方后赵政权的军事压力而率众南退至合肥《晋书·元帝纪》：秋七月，王敦自加兖州刺史郗鉴为安北将军。石勒将石季龙攻陷太山，执守将徐龛。兖州刺史郗鉴自邹山退守合肥。郗鉴随后一度在建康朝廷内任职，并协助晋明帝讨平王敦之乱，以车骑将军、假节都督徐兖青三州军事、兖州刺史身份返回江北出镇广陵，并在随后苏峻之乱时自广陵领兵渡江，在京口附近筑大业等三垒阻遏苏峻叛军挟晋成帝东走会稽，成功协助平定乱事。战后郗鉴仍留京口，并因为应付后赵刘征等浮海侵略东晋的部队而让江淮流民大量迁入京口附近晋陵一带，让他们在那定居，从而将京口发展成拱衞京师建康的重镇337-41。
郗鉴去世前上请由自己军司蔡谟接手京口，随后约二十年内徐兖二州皆由门阀士族人士所领，且高平郗氏力量仍影响京口。此外，徐兖京口兵力多度作为北伐主力与北方政权作战：褚裒出镇京口时以郗鉴长子郗愔为其长史《晋书·郗愔传》：骠骑何充辅政，征北将军褚裒镇京口，皆以愔为长史。，并在永和五年（349年）趁后赵皇帝石虎去世发动北伐时自京口率军府兵攻向彭城《晋书·褚裒传》:　及石季龙死，裒上表请伐之，即日戒严，直指泗口。朝议以裒事任贵重，不宜深入，可先遣偏师。裒重陈前所遣前锋督护王颐之等径造彭城，示以威信，后遣督护麋嶷进军下邳，贼即奔溃，嶷率所领据其城池，今宜速发，以成声势，于是除征讨大都督青、扬、徐、兖、豫五州诸军事。裒率众三万径进彭城，河朔士庶归降者日以千计，裒抚纳之，甚得其欢心。。永和八年（352年）扬州刺史殷浩组织北伐，亦让接替褚裒任徐兖二州刺史的荀羡与豫州刺史谢尚并为督统，更让荀羡自京口进屯淮阴，不久再进镇下邳，图以北府军队与谢尚的西府军队两路进攻《晋书·荀羡传》：除北中郎将、徐州刺史、监徐兖二州扬州之晋陵诸军事、假节。殷浩以羡在事有能名，故居以重任。时年二十八，中兴方伯，未有如羡之少者。羡至镇，发二州兵，使参军郑袭戍准阴。羡寻北镇准阴，屯田于东阳之石鳖。寻加监青州诸军事，又领兖州刺史，镇下邳。。殷浩北伐失败后，荀羡仍驻下邳与前燕军队作战，升平三年（358年）荀羡因病而请郗鉴次子郗昙为军司，同年郗昙即代之为徐兖二州刺史镇下邳，并在翌年（359年）与豫州刺史谢万北伐《晋书·郗昙传》：时北中郎荀羡有疾，朝廷以昙为羡军司，加散骑常侍。顷之，羡征还，仍除北中郎将、都督徐兖青幽扬州之晋陵诸军事、领徐兖二州刺史、假节，镇下邳，后与贼帅傅末波等战失利，降号建威将军。寻卒，年四十二。。
郗昙于升平五年（361年）去世后，范汪及庾希先后出任徐兖二州刺史，但此时东晋朝权已渐见倾轧在权臣桓温身上，因著桓温怨恨范汪及忌惮颖川庾氏的势力，范汪居职仅八月即遭桓温以行军失期而废为庶人，庾希亦在太和二年（367年）因救援鲁郡及高平等郡不力而遭免职。庾希遭免后，徐兖二州刺史一职回归到高平郗氏的郗愔，但时已为大司马、都督中外诸军事、扬州牧的桓温其实一直都觊觎将京口兵强悍的战力，常称「京口酒可饮，兵可用」，作为桓温幕僚的郗愔子郗超就在太和四年（369年）桓温第三次北伐时伪作父亲书信将徐兖二州军府交予桓温182-6。
包括桓温第三次北伐大败予前燕，历次有京口军参与之北伐皆以失败告终，京口军力在接连战事中因战死或溃败逃散而损耗甚大，需时恢复，故在桓温北伐后接著的一段时间都缺乏事迹。但桓温控制京口亦令其得以进执朝权，甚至废黜晋废帝改立晋简文帝，图谋篡夺皇位。桓温的野心在谢安、王坦之、王彪之等门阀士族势力趁其患病故作阻挠下，于晋孝武帝继位后的宁康元年（373年）随其去世而化为泡影，但后续由陈郡谢氏主导之权力分布重整正造就北府军的诞生346186-98。
豫州经营
陈郡谢氏家族自谢尚在永和二年（346年）以西中郎将、豫州刺史出镇芜湖始曾一度统辖并发展豫州军府势力。谢尚出镇芜湖后在永和四年（348年）进号安西将军，并配合荆州刺史桓温而移镇寿春《晋书·穆帝纪》：秋八月，进安西将军桓温为征西大将军、开府仪同三司，封临贺郡公；西中郎将谢尚为安西将军。《晋书·谢尚传》：大司马桓温欲有事中原，使尚率众向寿春，进号安西将军。；永和九年（353年）因北伐时安抚降将张遇失败，为张遇所败而被征还，改任尚书仆射后旋即又以本官都督豫州、扬州五郡及江西淮南诸军事身份领豫州刺史，出镇历阳《晋书·穆帝纪》：（永和九年）十二月，加尚书仆射谢尚为都督豫、扬、江西诸军事，领豫州刺史，镇历阳。《晋书·谢尚传》：永和中，拜尚书仆射，出为都督江西淮南诸军事、前将军、豫州刺史，给事中、仆射如故，镇历阳，加都督豫州扬州之五郡军事，在任有政绩。；永和十一年（355年）再加督并冀幽三州军事，进号镇西将军，移镇马头《晋书·穆帝纪》：（永和十一年）冬十月，进豫州刺史谢尚督幷冀幽三州诸军事、镇西将军，镇马头。。升平元年（356年）谢尚去世后朝廷即以其堂弟谢奕以都督豫司冀并四州军事、安西将军、豫州刺史接任，改戍谯《宋书·州郡志二·南豫州》 ：（永和）二年，刺史谢尚镇芜湖；四年，进寿春；九年，尚又镇历阳；十一年，进马头。升平元年，刺史谢奕戍谯。。谢奕于升平二年（357年）去世后其弟谢万又继为豫州刺史《晋书·穆帝纪》：（升平二年）秋八月，安西将军谢奕卒。壬申，以吴兴太守谢万为西中郎将、持节、监司豫冀幷四州诸军事、豫州刺史。，至升平四年（359年）与郗昙北伐失败被废为庶人止。豫州军府兵员亦与京口一样来自江淮流民，但因未如京口一带具空荒地带作开发而实力不及之，谢安具高名而不出仕，但仍多次随谢万出镇作匡辅，甚至代其抚慰将士《晋书·谢万传》：万既受任北征，矜豪傲物，尝以啸咏自高，未尝抚众。兄安深忧之，自队主将帅已下，安无不慰勉。谓万曰：「汝为元帅，诸将宜数接对，以悦其心，岂有傲诞若斯而能济事也！」万乃召集诸将，都无所说，直以如意指四坐云：「诸将皆劲卒。」诸将益恨之。, 惟谢万北伐溃败遭废亦令陈郡谢氏势力在豫州的军事经营完全破灭，亦令谢氏在朝中无人，逼令谢安自己要挺身而出，但谢氏在豫州军府的历史因素亦有助其后谢玄组建北府军《晋书·谢安传》：时安弟万为西中郎将，总籓任之重。安虽处衡门，其名犹出万之右，自然有公辅之望，处家常以仪范训子弟。安妻，刘惔妹也，既见家门富贵，而安独静退，乃谓曰：「丈夫不如此也？」安掩鼻曰：「恐不免耳。」及万黜废，安始有仕进志，时年已四十余矣。342-46206-13。
历史
军队肇建
桓温死后，扬豫江三州都督、扬州刺史一职由桓温幼弟桓冲接手，徐兖二州在经过刁彝及王坦之短暂任职后在宁康三年（375年）由解扬州刺史予谢安的桓冲以都督徐兖豫青扬五州军事兼徐州刺史继接《晋书·桓冲传》：谢安以时望辅政，为群情所归，冲惧逼，宁康三年，乃解扬州，自求外出。桓氏党与以为非计，莫不扼腕苦谏，郗超亦深止之。冲皆不纳，处之澹然，不以为恨，忠言嘉谋，每尽心力。于是改授都督徐兖豫青扬五州之六郡军事、车骑将军、徐州刺史，以北中郎府并中军，镇京口，假节。。再至太元二年（377年），因应当时前秦刚在上一年灭前凉，统一了北方，并且频频侵边，朝廷正讨论有何良将能抵抗北方巨大的军事威胁，谢安欲以侄儿谢玄为之，就再重新调整徐兖二州势力，先解桓冲徐州刺史及徐兖扬青四州都督，改授都督豫江二州之六郡军事，以车骑将军转镇姑熟，以准备随后由外戚王蕴以徐州刺史出镇京口《晋书·桓冲传》：时丹阳尹王蕴以后父之重昵于安，安意欲出蕴为方伯，乃复解冲徐州，直以车骑将军都督豫江二州之六郡军事，自京口迁镇姑熟。；原兖州刺史朱序亦调任梁州刺史镇襄阳《晋书·孝武帝纪》：三月，以兖州刺史朱序为南中郎将、梁州刺史、监沔中诸军，镇襄阳。，准备让时任荆州刺史桓豁司马之谢玄接任。至八月桓豁去世，谢安就直接让桓冲还镇谯国桓氏崛起的荆州，于十月出任都督荆江梁益宁交广七州扬州之义成雍州之京兆司州之河东诸军事、领护南蛮校尉、荆州刺史，同时正式让谢玄出任监江北诸军事、兖州刺史、广陵相，镇广陵；王蕴出任徐州刺史；谢安亦以司徒加都督扬豫徐兖青五州及幽州之燕国诸军事。至此完成了诸镇的势力重整《晋书·谢玄传》：转征西将军桓豁司马、领南郡相、监北征诸军事。于时苻坚强盛，边境数被侵寇，朝廷求文武良将可以镇御北方者，安乃以玄应举。中书郎郗超虽素与玄不善，闻而叹之，曰：「安违众举亲，明也。玄必不负举，才也。」时咸以为不然。超曰：「吾尝与玄共在桓公府，见其使才，虽履屐间亦得其任，所以知之。」于是征还，拜建武将军、兖州刺史、领广陵相、监江北诸军事。《晋书·孝武帝纪》：八月壬辰，四骑将军桓冲来朝。丁未，以尚书仆射谢安为司徒。丙辰，使持节、都督荆梁宁益交广六州诸军事、荆州刺史、征西大将军桓豁卒。冬十月辛丑，以车骑将军桓冲都督荆江梁益宁交广七州诸军事、领护南蛮校尉、荆州刺史，尚书王蕴为徐州刺史、督江南晋陵诸军，征西司马谢玄为兖州刺史、广陵相、监江北诸军。《晋书·谢安传》：顷之，加司徒，后军文武尽配大府，又让不拜。复加侍中、都督扬豫徐兖青五州幽州之燕国诸军事、假节。。
东晋朝廷于太元元年（376年）冬季已下令迁淮北流民到淮南《晋书·孝武帝纪》：冬十月，移准北流人于淮南。，谢玄到广陵上任后便著手选拔骁猛人士组建北府军，彭城郡人刘牢之、东海郡人何谦、琅邪郡人诸葛侃、乐安郡人高衡、东平郡人刘轨、西河郡人田洛及晋陵郡孙无终等人都获挑选为将《晋书·刘牢之传》：太元初，谢玄北镇广陵，时苻坚方盛，玄多募劲勇，牢之与东海何谦、琅邪诸葛侃、乐安高衡、东平刘轨、西河田洛及晋陵孙无终等以骁猛应选。玄以牢之为参军，领精锐为前锋，百战百胜，号为「北府兵」，敌人畏之。。其中何谦其实昔日在庾希任徐兖二州刺史时就已为其部将《晋书·哀帝纪》：庾希部将何谦及慕容𬀩将刘则战于檀丘，破之。，后因故离开军府，至此再应募入仕；刘牢之父亲刘建更曾仕晋为征虏将军《晋书·刘牢之传》：父建，有武干，为征虏将军。世以壮勇称。，曾参与升平四年（359年）谢万溃败的那次北伐行动《晋书·谢万传》：既而先遣征虏将军刘建修治马头城池，自率众入涡颍，以援洛阳。。
君川之役
谢玄于广陵募集成北府军后翌年即遇到前秦的军事考验，太元三年（378年）前秦长乐公苻丕率兵进攻襄阳，秦兖州刺史彭超就奏请前秦天王苻坚进攻彭城以配合苻丕行动，遂与俱难、毛盛、邵保等攻淮南一带，并围攻彭城。谢玄在前秦攻襄阳时就已大发三州兵众，命何谦领游军在淮泗一带干扰前秦，彭城则由龙骧将军、沛郡太守戴逯坚守。太元四年（379年）二月，谢玄率领东莞太守高衡及何谦的救援彭城部队到达泗口，他看准彭超军辎重停在留城，假称要派何谦攻留城，成功逼令彭超撤围赴救。此时谢玄就派何谦领军迎戴逯领彭城兵众弃城南归，彭超等随后占领彭城、下邳二戍，并继续南攻《资治通鉴·卷104》：兖州刺史谢玄帅众万余救彭城，军于泗口，欲遣间使报戴𨔵而不可得；部曲将田泓请没水潜行趣彭城，玄遣之。泓为秦人所获，厚赂之，使云南军已败；泓伪许之，既而告城中曰：「南军垂至，我单行来报，为贼所得，勉之！」秦人杀之。彭超置辎重于留城，谢玄扬声遣后军将军何谦向留城。超闻之，释彭城围，引兵还保辎重。戴𨔵帅彭城之众，随谦奔玄，超遂据彭城，留兖州治中徐褒守之，南攻盱眙。俱难克淮阴，留邵保戍之。。
同时襄阳亦在苻丕率众猛攻之下失陷，秦将毛当及王显领兵二万赴淮南与俱难及彭超军一同进攻，并在五月攻下盱眙，俘守将毛璪之，更进而在离广陵一百里外的三阿围困幽州刺史田洛。前秦军兵临长江引起朝廷内部震动，谢玄则自广陵领兵救援田洛，先击斩俱难派来迎击的都颜，再在三阿击败彭超等军，令其退守盱眙。六月，谢玄和田洛以五万兵进攻盱眙，再次获胜，将他们逼退到淮阴。随后谢玄命何谦、刘牢之、诸葛侃等军以水军进攻前秦所搭用来便利渡过淮河的浮桥，并在夜袭中焚毁浮桥，毁坏其运输设备。谢玄同时进攻淮阴，杀掉留戍淮阴的邵保，彭超及俱难等军只好退回淮北，谢玄则率领何谦、田洛及戴逯等军追击，更在君川大败对方，彭超及俱难败得只能只身北返《资治通鉴·卷104》：右衞将军毛安之等帅众四万屯堂邑。秦毛当、毛盛帅骑二万袭堂邑，安之等惊溃。兖州刺史谢玄自广陵救三阿。丙子，难、超战败，退保盱眙。六月，戊子，玄与田洛帅众五万进攻盱眙，难、超又败，退屯淮阴。玄遣何谦等帅舟师乘潮而上，夜，焚淮桥。邵保战死，难、超退屯淮北。玄与何谦、戴𨔵、田洛共追之，战于君川，复大破之，难、超北走，仅以身免。。
此战东晋虽丢失了彭城及下邳两个淮北据点，但藉北府军接连击败试图乘势进犯长江的前秦军，逼其退回淮北。谢玄亦以君川之捷进号冠军将军，并加领徐州刺史《晋书·谢玄传》：于是罢彭城、下邳二戍。诏遣殿中将军慰劳，进号冠军，加领徐州刺史，还于广陵，以功封东兴县侯。。
淝水之战
太元八年（383年），前秦天王苻坚亲率大军欲以武力灭亡东晋，并以苻融率领二十五万前锋进攻淮南。作为反应，晋以谢石以征虏将军假节为征讨大都督，总统谢玄、谢琰及桓伊等共八万兵力抵御，其中谢玄为前锋，都督徐兖青三州扬州之晋陵及幽州之燕国诸军事。苻融前锋于十月攻陷寿阳，令前往救援寿阳的晋将胡彬退守硖石，苻融进而攻打胡彬，另以梁成等以五万兵在洛涧建栅防守，防堵东面来的谢玄援军。谢玄等军在洛涧外二十五里畏敌不敢前进，苻融因而认为这是覆灭晋军主力的机会，遂令苻坚急领八千轻骑到达寿阳前线以图一举制胜，并特意派早前襄阳之役的降将朱序劝降。惟朱序却向谢石私下明言前秦军尚未完成集结，提出先破其前锋，瓦解其士气之取胜方法。谢石在谢琰劝说下相信朱序，谢玄遂在十一月派刘牢之以五千精兵进攻洛涧，梁成在刘牢之离洛涧仍有十里远时就据涧结阵等待，刘牢之到后便立即渡涧进击，大败秦军并阵斩梁成及弋阳太守王咏。刘牢之更派军截断秦军归路，遂令前秦败军崩溃，争相渡过淮河逃走，牢之遂纵军追击，俘秦扬州刺史王显等众人及大量军需品。洛涧之战后谢石乘胜率领大军水陆并进逼近寿阳，前秦军就依淝水列阵，两军遂对峙。谢玄则派人向苻坚要求前秦军退后以让晋军渡过淝水作决战，苻坚认为可以趁晋军半渡时突袭取胜，遂同意请求，但秦军才一后退，朱序就在前秦军后大叫：「秦军败矣！」经历过洛涧大败的前秦军遂溃退，谢玄等军此时则带著大军渡过淝水直接冲击溃退中的秦军，苻融尝试阻遏军队崩溃但失败，更堕马遭晋军杀死。谢玄遂收复寿阳，并一直追击到青冈才停下，秦军死伤枕籍，甚至苻坚专用的云母车都被晋军夺取了，朱序及寿阳失陷时被俘的徐元喜都成功南返《晋书·谢石传》：淮肥之役，诏石解仆射，以将军假节征讨大都督，与兄子玄、琰破苻坚。《晋书·谢玄传》：及苻坚自率兵次于项城，众号百万，而凉州之师始达咸阳，蜀汉顺流，幽并系至。先遣苻融、慕容𬀩、张蚝、苻方等至颍口，梁成、王显等屯洛涧。诏以玄为前锋、都督徐兖青三州扬州之晋陵幽州之燕国诸军事，与叔父征虏将军石、从弟辅国将军琰、西中郎将桓伊、龙骧将军檀玄、建威将军戴熙、扬武将军陶隐等距之，众凡八万。玄先遣广陵相刘牢之五千人直指洛涧，即斩梁成及成弟云，步骑崩溃，争赴淮水。牢之纵兵追之，生擒坚伪将梁他、王显、梁悌、慕容屈氏等，收其军实。坚进屯寿阳，列阵临肥水，玄军不得渡。玄使谓苻融曰：「君远涉吾境，而临水为阵，是不欲速战。诸君稍却，令将士得周旋，仆与诸君缓辔而观之，不亦乐乎！」坚众皆曰：「宜阻肥水，莫令得上。我众彼寡，势必万全。」坚曰：「但却军，令得过，而我以铁骑数十万向水，逼而杀之。」融亦以为然，遂麾使却阵，众因乱不能止。于是玄与琰、伊等以精锐八千涉渡肥水。石军距张蚝，小退。玄、琰仍进，决战肥水南。坚中流矢，临阵斩融。坚众奔溃，自相蹈藉投水死者不可胜计，肥水为之不流。余众弃甲宵遁，闻风声鹤唳，皆以为王师已至，草行露宿，重以饥冻，死者十七八。获坚乘舆云母车，仪服、器械、军资、珍宝山积，牛马驴骡骆驼十万余。《资治通鉴·卷105》：诏以尚书仆射谢石为征虏将军、征讨大都督，以徐、兖二州刺史谢玄为前锋都督，与辅国将军谢琰、西中郎将桓伊等众共八万拒之；使龙骧将军胡彬以水军五千援寿阳。琰，安之子也。……冬，十月，秦阳平公融等攻寿阳；癸酉，克之，执平虏将军徐元喜等。融以其参军河南郭褒为淮南太守。胡彬闻寿阳陷，退保硖石，融进攻之。秦衞将军梁成等帅众五万屯于洛涧，栅淮以遏东兵。谢石、谢玄等去洛涧二十五里而军，惮成不敢进。胡彬粮尽，潜遣使告石等曰：「今贼盛粮尽，恐不复见大军！」秦人获之，送于阳平公融。融驰使白秦王坚曰：「贼少易擒，但恐逃去，宜速赴之！」坚乃留大军于项城，引轻骑八千，兼道就融于寿阳。遣尚书朱序来说谢石等，以为：「强弱异势，不如速降。」序私谓石等曰：「若秦百万之众尽至，诚难与为敌。今乘诸军未集，宜速击之；若败其前锋，则彼已夺气，可遂破也。」石闻坚在寿阳，甚惧，欲不战以老秦师。谢琰劝石从序言。十一月，谢玄遣广陵相刘牢之帅精兵五千趣洛涧，未至十里，梁成阻涧为陈以待之。牢之直前渡水，击成，大破之，斩成及弋阳太守王咏；又分兵断其归津，秦步骑崩溃，争赴淮水，士卒死者万五千人，执秦扬州刺史王显等，尽收其器械军实。于是谢石等诸军，水陆继进。秦王坚与阳平公融登寿阳城望之，见晋兵部阵严整，又望八公山上草木皆以为晋兵，顾谓融曰：「此亦勍敌，何谓弱也！」怃然始有惧色。秦兵逼肥水而陈，晋兵不得渡。谢玄遣使谓阳平公融曰：「君悬军深入，而置陈逼水，此乃持久之计，非欲速战者也。若移陈少却，使晋兵得渡，以决胜负，不亦善乎！」秦诸将皆曰：「我众彼寡，不如遏之，使不得上，可以万全。」坚曰：「但引兵少却，使之半渡，我以铁骑蹙而杀之，蔑不胜矣！」融亦以为然，遂麾兵使却。秦兵遂退，不可复止。谢玄、谢琰、桓伊等引兵渡水击之。融驰骑略陈，欲以帅退者，马倒，为晋兵所杀，秦兵遂溃。玄等乘胜追击，至于青冈；秦兵大败，自相蹈藉而死者，蔽野塞川。其走者闻风声鹤唳，皆以为晋兵且至，昼夜不敢息，草行露宿，重以饥冻，死者什七、八。初，秦兵少却，朱序在陈后呼曰：「秦兵败矣！」众遂大奔。序因与张天锡、徐元喜皆来奔。获秦王坚所乘云母车。复取寿阳，执其淮南太守郭褒。《晋书·刘牢之传》：淮肥之役，苻坚遣其弟融及骁将张蚝攻陷寿阳，谢玄使彬与牢之距之。师次硖石，不敢进。坚将梁成又以二万人屯洛涧，玄遣牢之以精卒五千距之。去贼十里，成阻涧列阵。牢之率参军刘袭、诸葛求等直进渡水，临阵斩成及其弟云，又分兵断其归津。贼步骑崩溃，争赴淮水，杀获万余人，尽收其器械。坚寻亦大败，归长安，余党所在屯结。。
谢玄北伐
太元九年（384年），前秦内乱，谢安奏请北伐，朝廷遂以谢玄以本官担任前锋都督，让其领北府军经略北方。而其实在该年年初北府将领刘牢之就已攻下谯城《晋书·孝武帝纪》：九年春正月庚子，封武陵王孙宝为临川王。戊午，立新宁王晞子遵为新宁王。辛亥，谒建平等四陵。龙骧将军刘牢之克谯城。，及至现在谢玄北征至下邳时，前秦彭城守将徐州刺史赵迁弃城逃走，谢玄遂领军进据彭城《资治通鉴·卷105》：太保安奏请乘苻氏倾败，开拓中原，以徐、兖二州刺史谢玄为前锋都督，帅豫州刺史桓石虔伐秦。玄至下邳，秦徐州刺史赵迁弃彭城走，玄进据彭城。。谢玄又即派彭城内史刘牢之及参军刘袭进攻驻鄄城的前秦兖州刺史张崇，并在张崇败走后命刘牢之进屯鄄城，由其讨平附近的抵抗势力，黄河以南诸堡遂望风降晋《晋书·刘牢之传》：迁龙骧将军、彭城内史，以功赐爵武冈县男，食邑五百户。牢之进屯鄄城，讨诸未服，河南城堡承风归顺者甚众。《资治通鉴·卷105》：九月，谢玄使彭城内史刘牢之攻秦兖州刺史张崇。辛卯，崇弃鄄城奔燕。牢之据鄄城，河南城堡皆来归附。《晋书·谢玄传》：玄复率众次于彭城，遣参军刘袭攻坚兖州刺史张崇于鄄城，走之，使刘牢之守鄄城。。随后谢玄进攻青州，并派淮阴太守高素逼降驻于广固的前秦青州刺史苻朗《晋书·谢玄传》：兖州既平，玄患水道险涩，粮运艰难，用督护闻人奭谋，堰吕梁水，树栅，立七埭为派，拥二岸之流，以利运漕，自此公私利便。又进伐青州，故谓之青州派。遣淮陵太守高素以三千人向广固，降坚青州刺史苻朗。。
留守邺城的秦长乐公苻丕虽以坚守令得后燕主慕容垂暂时放弃夺取邺城，但仍面临孤立无援的困境，而此时谢玄已命令麾下北府诸将进攻冀州，刘牢之、济北太守丁匡以及济阳太守郭满分别镇守河南重镇碻磝及滑台，而奋武将军颜雄就北渡黄河建营。苻丕派了桑据到黎阳防备晋军，谢玄遂派刘袭驱逐桑据，由滕恬之守黎阳，这令得苻丕不得不向晋请援，其下属更假作书信代苻丕向晋请降。至此，这次谢玄统领北府军北伐已成功收复了兖青豫司四州地区，朝廷遂加其都督为徐兖青司冀幽并七州《晋书·谢玄传》：又进伐冀州，遣龙骧将军刘牢之、济北太守丁匡据碻磝，济阳太守郭满据滑台，奋武将军颜雄渡河立营。坚子丕遣将桑据屯黎阳。玄命刘袭夜袭据，走之。丕惶遽欲降，玄许之。丕告饥，玄馈丕米二千斛。又遣晋陵太守滕恬之渡河守黎阳，三魏皆降。以兖、青、司、豫平，加玄都督徐、兖、青、司、冀、幽、并七州军事。。
不久，慕容垂再攻邺，苻丕向晋请援并求粮，谢玄遂派刘牢之及滕恬之以二万兵援邺，并送二千斛米予苻丕解困。太元十年（385年），刘牢之在枋头盘桓期间攻后燕黎阳太守刘抚，为慕容垂所阻，被逼暂退黎阳，至四月才进军邺城，并击破围城的慕容垂，逼其北退，解邺城之困。接著刘牢之追击慕容垂，却为慕容垂以辎重引诱，晋军在抢夺辎重时遭慕容垂截击大败，刘牢之只身出奔，在苻丕赶上支援下才得返回邺城重整军力，但也因战败而被征还。谢玄此后再无大规模进攻，并计划自己退屯彭城，而让时镇洛阳的豫州刺史朱序移屯梁国，令其进可支援黄河流域前线及洛阳方面的晋军，退亦能保待淮河流域安全，守护江东。但在太元十一年（386年）丁零人翟辽叛变，俘虏了滕恬之并占据了黎阳，不久泰山太守张愿也叛降翟辽了，谢玄遂以此归罪自己求退，而其时朝廷亦想完结北伐行动，转为防守，就命谢玄退镇淮阴，朱序代谢玄为青兖二州都督兼刺史，移镇彭城。谢玄随后因病获诏命回京口治疗，又转会稽太守，遂卸下对北府军的指挥权。
主相争夺
朱序代替谢玄于淮北统御北府军，并以粮运不便为由退屯淮阴，但他未有兼督徐州，后徐州刺史职由在建康居相位的会稽王司马道子所兼领。朱序上任一年后（388年）就转位雍州刺史，青兖二州刺史由谯王司马恬以都督兖青冀幽并、扬州之晋陵、徐州之南北郡军事身份继任，出镇京口《晋书·卷37》：恬既宗室勋望，有才用，孝武帝时深杖之，以为都督兖青冀幽并扬州之晋陵、徐州之南北郡军事，领镇北将军、兖青二州刺史、假节。……恬镇京口，尚之为振威将军、广陵相，父忧去职。《晋书·孝武帝纪》：十三年夏四月戊午，以青兖二州刺史朱序为持节、都督雍梁沔中九郡诸军事、雍州刺史，谯王恬之为镇北将军、青兖二州刺史。。司马恬既受孝武帝倚仗而都督徐州南北军事及出镇京口要地，掌握北府军权，但其时仍有北府将领在淮北一带与北方政权作战的记录，如刘牢之在战败被征还后不久复职并出屯淮阴，后更回彭城任太守，在司马恬上任后的太元十四年（389年）更讨平在皇丘称帝的张黎《晋书·孝武帝纪》：（十四年）彭城妖贼刘黎僭称皇帝于皇丘，龙骧将军刘牢之讨平之。，远在京口的司马恬对淮北北府将领控制力有限，却为孝武帝为控制徐兖北府根本之地而作的政治行为293-6355-7。
太元十五年（390年），司马恬去世，孝武帝亲信的外戚王恭获任命为都督兖青冀幽并徐六州及扬州之晋陵诸军事、前将军、兖青二州刺史、假节，镇京口《晋书·孝武帝纪》：十五年春正月乙亥，镇北将军、谯王恬之薨。龙骧将军刘牢之及翟辽、张愿战于太山，王师败绩。征虏将军朱序破慕容永于太行。二月辛己，以中书令王恭为都督青兖幽幷冀五州诸军事、前将军、青兖二州刺史。。王恭直以都督徐州及晋陵上任，政治上对京口地区的控制比司马恬更强，但王恭指挥北府军将领的记载不详，仅见太元十九年（394年）后燕进攻廪丘一带，攻至东面海边之事，一直在北方的刘牢之因不能救援郡县而被免职，王恭亦因失土而被降号。
太元二十一年（396年），孝武帝去世，晋安帝即位，会稽王司马道子以太傅身份主政，任用被认为是奸佞的宠臣王国宝为尚书仆射，权倾朝野，此举令到王恭很不满，最终决定起兵诛除王国宝。王恭除了联结昔日也是孝武帝派往作外藩的荆州刺史殷仲堪外，也召刘牢之为司马，借以获得北府军的实际控制权以增加自身实力。隆安元年（397年），王恭上表讨伐王国宝及王绪，并起兵向建康，最终司马道子主动将王国宝及王绪收捕处死满足王恭要求，王恭亦因而罢兵，反而还派刘牢之领军讨平原本约定在吴郡响应自己，但此时欲不肯听命罢兵的王𫷷。
王恭成功逼司马道子杀掉王国宝及王绪，但未能让他与司马道子间的矛盾得到解决，司马道子还是想办法树立外藩作援防备王恭。而举兵成功也令本身出身高门的王恭更认为自己威名已盛，对倚仗的北府主力之核心刘牢之只是以普通武将对待，待遇并不优厚，这令自负的刘牢之很怨恨。隆安二年（398年），王恭针对司马道子亲任的谯王司马尚之而再度起兵，这回更有荆州刺史殷仲堪、留驻荆州之广州刺史桓玄、南蛮校尉杨佺期及豫州刺史庾楷的实质军事响应，声势甚大。但此时会稽世子司马元显却派了另一北府将领高素去策反刘牢之，并许诺王恭败后将以刘牢之代其位。刘牢之答应并在随后以王恭前锋进兵竹里时突然叛变，更派女婿高雅之及儿子刘敬宣突袭王恭，王恭失败逃走，被捕处死。牢之随后领北府军到新亭以备西军，但西军后以内部矛盾而暂退，终受诏罢军，刘牢之亦以辅国将军本官受王恭都督兖青冀幽并徐及扬州之晋陵军事。自孝武帝时代起的主相两派之争夺，以司马道子父子成功策反刘牢之击灭王恭而结束，但此亦显示北府军始具独立性而非门阀麾下军事力量，牢之的地位变得举足轻重，亦深深影响日后北府军发展363-4。
牢之总戎
北府都督在谢玄组建北府军前后皆由门阀士族人士担任，至此刘牢之以北府将领身份出任此职，引发当时人一些不满，刘牢之遂任用心腹徐谦之等以壮大自己势力。隆安三年 （399年），孙恩之乱在三吴地区爆发，朝廷诏命徐州刺史谢琰领兵讨伐，刘牢之亦自行上表加入，谢琰派麾下北府将高素与牢之联手下成功击溃孙恩，逼其逃返海岛上。隆安四年（400年），孙恩卷土重来，驻守会稽作备的谢琰战死，刘牢之就受诏为镇北将军、都督会稽五郡军事率领北府军讨伐，孙恩暂退后自屯上虞而分遣诸军守戍各县，其中参军刘裕表现突出，不但于戍守的句章屡败孙恩，紧随追击之下亦成功瓦解孙恩大军，终平定乱事，亦加强了刘牢之的名声威望。
孙恩实力遭受重创，最终于元兴元年（402年）被杀，但仍有卢循、徐道覆等余众活跃。而此时桓玄早已消灭了殷仲堪、杨佺期等上游势力，当上都督荆司雍秦梁益宁七州，荆州刺史，而时江州、广州等镇皆由桓玄一方人物所领，时朝廷能够掌握的地区仅有建康附近及三吴地区而已。桓玄欲东下建康夺取朝权，司马元显虽知桓玄野心，在同年便宣布讨伐桓玄，并已集结军力，但因恐惧而一直没出发，时除朝廷自己之军队外，还有司马尚之统领的豫州兵，以及刘牢之的北府军，但他知道只有担任讨伐先锋的刘牢之的北府军才有击败桓玄的能力。回应讨伐而正领军东下的桓玄派了何穆策反刘牢之，牢之虽也提防桓玄，但心中对司马元显亦早有疑忌，也认同何穆鸟尽弓藏、声威震主之言，怕若果助司马元显消灭桓玄后反遭元显所害。桓玄到姑孰后派军直接进攻隔江北岸的豫州治所历阳，击败了司马尚之军，进而兵临新亭之际，刘牢之不顾刘敬宣、刘裕等人反对，率领屯驻洌洲的北府军倒戈投降桓玄，司马道子、司马元显父子遂被桓玄所废，后杀害。
桓玄行戮
桓玄以太尉、扬州牧掌权后，立即就处理刘牢之，以其为征东将军，会稽太守。不但调离京口等要更尽削刘牢之兵权，刘牢之意图起兵对抗桓玄，然由于其一再背叛主君而早已丧失人心，在与僚属会议起事之际参军刘袭言：「事不可者莫大于反，而将军往年反王兖州，近日反司马郎君，今复欲反桓公。一人而三反，岂得立也。」言毕步出，其他僚属大多亦随之离去。刘牢之在众叛亲离下被逼出逃，但在恐惧妻儿己被诛杀下绝望自杀。桓玄又以桓修为右将军、徐兖二州刺史，出镇京口，接著亦开始消灭北府军势力，和刘牢之关系密切的北府将领吴兴太守高素、辅国将军竺谦之、谦之堂兄高平相竺朗之、辅国将军刘袭和袭弟彭城内史刘季武。刘袭兄刘轨、高雅之及前去投靠二人的牢之子刘敬宣则在山阳附近尝试对抗桓玄失败后，往北逃难到南燕；元兴二年二月，桓玄又杀冀州刺史孙无终。至于刘裕，其实桓玄亦知其具威胁，但其时除了在讨伐孙恩余众外，桓玄亦指望刘裕助其北伐，故一直都未有加害，反倒相当礼待。
重建北府
刘裕世居京口，在刘牢之叛归桓玄之际表明反对，后牢之欲叛桓玄时其亦不同意，至桓玄大权在握之际则更欲起事，不过在孔靖的建言下，他还是决定待桓玄篡位后才在京口徐图举事。元兴二年（403年）年末，桓玄篡晋，自登帝位，刘裕遂在京口密谋起事。但由于旧有北府势力已随刘牢之败死后大都遭桓玄消灭，刘裕仅能凭借其在徐兖地区的人脉连结，包括一些在徐兖桓氏人物府中任僚属的人，如青州刺史桓弘主簿孟昶、弟弟青州中兵参军刘道规等。元兴三年二月丙辰（404年3月25日），刘裕在京口袭杀桓修，正式举兵，孟昶亦杀了桓弘，自广陵领部众与刘裕会合；虽然原计划在建康及历阳举事的同谋失败了，但刘裕还是带著这支才一千七百人的部队向建康进攻。桓玄派了顿丘太守吴甫之及右衞将军皇甫敷镇压刘裕，但遭刘裕击败，二将战死。刘裕逼近建康，征讨都督桓谦统兵防御，但他统领的守军很多都是以前的北府士兵，见到刘裕都亳无斗志，反倒刘裕与众将奋力进攻，乘风纵火，守军在惊惧之下遂溃败。刘裕攻陷建康之际，桓玄率领其政权逃离建康，西上江州治所寻阳；刘裕就在建康与是桓楚司徒的昔日恩人——琅邪王氏的王谧建立行台，互相推举，刘裕遂为都督扬徐兖豫青冀幽并八州诸军事、领军将军、徐州刺史，不久更奉武陵王司马遵为大将军，承制行事，重建东晋朝廷。在诸将追击下，桓玄在同年被杀，并在翌年（405年）在江陵迎回晋安帝，消灭国内桓楚残余势力。刘裕于义熙四年（408年）王谧死后兼领其录尚书事、扬州刺史职位，从此掌握朝权，后在包括义熙五年（409年）北伐南燕、义熙六年（410年）自灭南燕战场迅速南返讨灭卢循之乱、义熙八年（412年）消灭与昔日自己共讨桓玄，却成政敌的荆州刺史刘毅及义熙十一年（415年）驱逐晋宗室荆州刺史司马休之，皆倚靠其指挥的北府军达成，刘裕此期间亦始终兼领徐州刺史及都督职位。击败司马休之后刘裕大致扫平国内政敌，并让身为弟弟但无才能且粗鄙贪婪的刘道邻出任荆州刺史，更将北府文武都随其赴荆州作支援《宋书·刘道怜传》：江陵平，以为都督荆湘益秦宁梁雍七州诸军事、骠骑将军、开府仪同三司、领护南蛮校尉、荆州刺史，持节、常侍如故。北府文武悉配之。道怜素无才能，言音甚楚，举止施为，多诸鄙拙。371-3。
义熙十二年（416年），刘裕上表北伐后秦，北伐亦以北府将领檀道济为前锋《宋书·檀道济传》：义熙十二年，高祖北伐，以道济为前锋出淮、肥，所至诸城戍望风降服。进克许昌，获伪宁朔将军、颍川太守姚坦，7及大将杨业。至成臯，伪兖州刺史韦华降。迳进洛阳，伪平南将军陈留公姚洸归顺。凡拔城破垒，俘四千余人。，遂在次年成功灭秦，收复关中及黄河以南土地，南返后便派王韶之杀掉晋安帝，改立晋恭帝，最终在永初元年（420年 ）篡位建宋。刘裕主政东晋期间曾在义熙九年（413年）推动义熙土断，大量裁撤侨置郡县或让侨置郡县拥有实土，人口都按其居住地归入其实土郡县中，以清查户籍，被土断的北方人需要缴纳租税徭役。但这次土断特别将青徐兖三州侨置于晋陵郡内的人口，即北府军的根源地排除在外，保持晋陵的特殊地位，亦见北府之重要《宋书·武帝纪中》：于是依界土断，唯徐、兖、青三州居晋陵者，不在断例。诸流寓郡县，多被并省。。刘裕称帝后，亦曾下令京口要地只能让宗室近支担任，遂令南徐州刺史一职在宋大部分时间皆由诸王所领《宋书·刘延孙传》：先是高祖遗诏，京口要地，去都邑密迩，自非宗室近戚，不得居之。。
衰落消亡
从东晋过渡到南朝宋，北府军一直作为朝廷军队主力，但永初三年（422年）北魏乘刘裕去世而攻夺昔日刘裕北伐而取的河南土地，时以北府名将、兖州刺史檀道济领军援救北方，然其时檀道济军力不足以分途救司州及青州两地，最终只能先援青州，最终青州获全但司州失陷。至宋文帝诛除徐羡之等权臣亲政后，檀道济为宋文帝所忌，自兖州改置江州，至元嘉七年（430年）对北魏的北伐作战中亦没有以老有战功的檀道济为主帅，反是自己亲任的另一出身北府将领到彦之，但到彦之领导的北伐队伍却于冬季遭北魏反攻，纵在晚期复用檀道济也无法阻止滑台失陷，原收复的河南土地得而复失，也造成大量伤亡及丢失大量物资，甚至令府库空虚《南史·卷25·到彦之传》：七年，遣彦之制督王仲德、竺灵秀、尹冲、段宏、赵伯符、竺灵真、庾俊之、朱修之等北侵，自淮入泗。泗水渗，日裁行十里。自四月至七月，始至东平须昌县。魏滑台、虎牢、洛阳守兵并走。彦之留朱修之守滑台，尹冲守虎牢，杜骥守金墉。十月，魏军向金墉城，次至虎牢，杜骥奔走，尹冲众溃而死。魏军仍进滑台。时河冰将合，粮食又罄，彦之先有目疾，至是大动，将士疾疫，乃回军，焚舟步至彭城。初遣彦之，资实甚盛，及还，凡百荡尽，府藏为空。。元嘉二十七年（450年），宋文帝再度北伐，这次更是东西并进，东面由王玄谟所领的前锋为主力，西面则有柳元景统领的各军自雍州治所襄阳出发。但北伐前朝廷曾在江淮诸郡县大举招集兵员，可见经过多年损耗后，来源于晋陵郡的北府军军力已远不足宋征战所需，需要再于其他州郡征集《资治通鉴·卷125》：又以兵力不足，悉发青、冀、徐、豫、二兖六州三五民丁，倩使𫏐行，符到十日装束；绿江五郡集广陵，缘淮三郡集盱眙。又募中外有马步众艺武力之士应科者，皆加厚赏。。最终北伐结果为西线屡屡报捷并攻入关中，弘农、潼关及陕城为宋所占；而东线面对魏太武帝主力遭突破，彭城寿春盱眙等城戍皆曾遭到围困，魏军更一度兵临江北瓜步，声言渡江，震撼建康，东线失利甚至令西线需要撤返《宋书·王玄谟传》：及大举北征，以玄谟为宁朔将军，前锋入河，受辅国将军萧斌节度。玄谟向碻磝，戍主奔走，遂围滑台，积旬不克。虏主托跋焘率大众号百万，鞞鼓之声，震动天地。玄谟军众亦盛，器械甚精，而玄谟专依所见，多行杀戮。初围城，城内多茅屋，众求以火箭烧之，玄谟恐损亡军实，不从。城中即撤坏之，空地以为窟室。及魏救将至，众请发车为营，又不从，将士多离怨。又营货利，一匹布责人八百梨，以此倍失人心。及托跋焘军至，乃奔退，麾下散亡略尽。《宋书·卷79·刘诞传》：及大举北伐，命诸蕃并出师，莫不奔败，唯诞中兵参军柳元景先克弘农、关、陕三城，多获首级，关、洛震动，事在元景传。会诸方并败退，故元景引还。《宋书·柳元景传》：随王诞镇襄阳，为后军中兵参军。及朝廷大举北讨，使诸镇各出军。二十七年八月，诞遣振威将军尹显祖出赀谷，奋武将军鲁方平、建武将军薛安都、略阳太守庞法起入卢氏，广威将军田义仁入鲁阳，加元景建威将军，总统群帅。……时北讨诸军王玄谟等败退，虏遂深入。太祖以元景不宜独进，且令班师。。战后东部各州郡受到严重破坏，亦显示到荆雍方面的军队实力已超越徐兖地区发源的北府军。至孝建元年（454年），宋廷开始收取北府军重地南徐州侨户的租税，开始动摇其义熙土断以来特殊的地位。而文帝以后北府军对军事及政治的影响力亦愈来愈弱，南齐建立后，齐武帝在永明二年（484年）撤销京口军府《南齐书·卷14·萧铄传》：永明二年，出为南徐州刺史，镇京口。历代镇府，铄出蕃，始省军府。，宣告北府军正式结束373-5。
研究
田余庆在其著作《东晋门阀政治》中将北府兵的发展历程分为四个阶段300-2：
* 郗鉴首创并受郗鉴的心腹继任者控制和影响的阶段，从咸和三年到太和四年（328—369年）。这个阶段的北府兵是一支门阀士族兵，从战略上说来，它的主要作用是支持建康朝廷的门阀政治，维持几家当权士族力量的平衡；
* 谢玄组建并由谢氏家族人物指挥，由谢氏豫州旧人刘牢之实际统领的阶段，从太元二年至十二年（377—387年）。这个阶段的北府兵仍然是一支门阀士族兵，领兵者有的是前一阶段的北府旧将，有的是新应募而来的流民帅。它的主要作用是与北方异族作战，并保持与荆州桓氏势力的平衡；
* 刘牢之为统帅的阶段，自隆安二年至元兴元年（398—402年）。这个阶段的北府兵，正经历着由门阀士族军队向次等士族军队的转变。它虽在军事上取得了独立性，但政治方向不明确，行动无准则，朝秦暮楚。它想在门阀政治的斗争中取得近利，但摆脱不了对门阀士族的政治依赖，终于在几经挫折以后归于失败；
* 元兴三年（404年）刘裕在京口重组的北府势力，完全是次等士族的武装。它摧毁了以桓玄篡晋形式出现的门阀士族统治，也就是门阀政治的回光反照；它压平了由另一些次等士族（卢循、徐道覆）领导的农民起事；它又取得了北伐南燕和后秦的胜利。然后，成为刘裕代晋自立、建立刘宋皇权的力量支柱，恢复了中国古代皇朝的权力结构形式和统治秩序。中国历史上的门阀政治时期因此而基本上宣告结束。
田氏亦对北府兵的组成特点作出分析218-9348-50：
* 史籍中记载之北府军组建皆只言所募将领，故其实谢玄组军正是募将，与其他时代组军募兵并不相同。
* 北府将领应选时皆该是麾下有军力的流民帅或散于江淮的昔日京口、豫州将领，征入北府时已带有士兵；且因江淮流民南迁与南北局势有关，故来源足且长期都有与北方敌人作战经验，南来时往往是半武装性质。由于北府将领与这些流民同籍或根本有流民帅与流民关系，兵将间快速建立关系并不成问题，故在需要补充兵员时只要征发流民予这些将领统率即能组成有效战力。
* 除了特以青徐兖等侨州之流民人丁加入北府军作兵员补充，北府亦有强逼不欲为兵之流民入伍，如毛璩任司马恬司马时纵兵讨伐在海陵县界隐匿的逃亡流民，更纵火烧毁其居住地逼其出降，计有万户悉用作补兵之事。