刘牢之

北府军团

太元二年（377年），谢玄就任兖州刺史，镇守广陵。鉴于北方前秦的军事威胁，谢玄就大肆招募兵勇，刘牢之与孙无终、何谦等人都以骁勇而获选，并得谢玄任用为其参军，率领精兵作为前锋。太元四年（379年）前秦将领俱难南侵，攻陷淮阴；不久再与彭超、毛当等进攻淮南，攻陷盱眙并围困离广陵仅百里的三阿，震动京师。谢玄于是亲自率军营救三阿，刘牢之亦随军，并在三阿解围后进攻盱眙，成功攻取前秦军在盱眙的辎重，并获得其运输船。谢玄于君川大败俱难和彭超后，获加领徐州刺史，移镇京口，刘牢之则升鹰扬将军，接替谢玄任广陵相。因京口又被称为“北府”，这支包括刘牢之在内，由谢玄所统的军队就有“北府军”之名。

淝水之战

太元八年（383年），荆州刺史桓冲派十万兵北伐前秦，宣城内史胡彬亦率兵向寿阳以作声援，刘牢之亦领二千兵作为胡彬后继。桓冲于当年七月退兵后，前秦就于八月派二十五万前锋南侵，准备消灭东晋，谢玄等人受命领兵抵抗。十月，苻融攻陷寿阳，胡彬与刘牢之率兵抵抗但不敢前进，退屯硖石。十一月，谢玄命刘牢之率精兵五千人进攻领兵二万驻守洛涧的梁成。梁成虽在刘牢之于十里以外时就已在洛涧边陈兵等待，但刘牢之直接率兵渡水进攻，大败前秦军并斩杀梁成，及后更分兵绝前秦残兵归路，于是前秦军崩溃，争相渡过淮河，斩获万多人，尽收其器械。因着刘牢之大胜，征讨大都督谢石就率诸军前进，与前秦天王苻坚率领的前秦军隔着淝水对峙，及后东晋就大败前秦军，成功消除了这一场危机。

谢玄北伐

太元九年（384年），前秦在淝水之战中大败后国内发生叛乱，刘牢之攻克谯城，迁龙骧将军、彭城内史，并以功封武冈县男。同年东晋开始北伐，由谢玄作为前锋都督领军。及后刘牢之就进攻前秦兖州刺史张崇，张崇弃鄄城逃走，刘牢之就进据鄄城，黄河以南一带城堡多数都前来归附。
同时，慕容垂建立的后燕正在扩张其势力，据守邺城的苻丕困逼，而当时刘牢之已经据有黄河边的重镇碻磝，东晋其他北伐军队亦已在滑台和滑台以北的黄河北岸驻扎，苻丕于是向谢玄求援。原本苻丕所写的信表示他欲求粮西赴长安，并以邺城献给东晋；并开条件若长安失守，要让他据兵守邺城。杨膺、姜让和焦逵认为这必定失败，决定改写为苻丕向东晋请降，更谋定若苻丕反抗就缚起他送给晋军。当时慕容垂已围困邺城，逼其弃城，谢玄于是派刘牢之和滕恬之等领兵二万救援苻丕。太元十年（385年），刘牢之进军至枋头，但杨膺等人的意图败露被苻丕所杀，因着焦逵求援时曾将他们的图谋告予谢玄，故刘牢之闻讯后一度盘桓不进。及后刘牢之进攻后燕黎阳太守刘抚，慕容垂亲率军队营救，刘牢之不能取胜，于是退守黎阳；苻丕亦未能趁此攻败围城军队，慕容垂于是返回围困邺城。至四月，刘牢之抵达邺城，，往新城走，及后北归。刘牢之见此，未通知苻丕就立刻领兵追击，苻丕知道后亦领兵后继。慕容垂于董唐渊被刘牢之追及，但刘牢之军疾走二百里，到五泽桥时就争相抢夺燕军辎重，因而被慕容垂大败，刘牢之只身骑马逃走，因苻丕后继到来才安然无恙。刘牢之及后收集亡散，恢复部分军力，但因兵败而被征还。后以龙骧将军守淮阴，后又改驻彭城，领彭城太守。

保卫北境

太元十四年（389年），彭城人刘黎在皇丘称帝，刘牢之率军平定。后前秦将领张遇攻破金乡，围攻太山太守羊迈，刘牢之派向钦之救援并击退张遇，然而丁零首领翟辽派子翟钊率兵救张遇，刘牢之于是退军，而翟钊退军时，刘牢之就先平定太山郡，又追击翟钊，令翟钊退归河北而且俘虏张遇。接着又在滑台击败翟辽，令叛将张愿归降。太元十八年（393年），司马徽在马头山聚众，刘牢之又派部将竺朗之平定。但太元十九年（394年）时，后燕南侵，攻掠廪丘，高平太守徐含远告急，刘牢之因不能救援而被指畏懦，遭免官。

王恭爪牙

隆安元年（397年），青兖二州刺史王恭以讨伐王国宝之名于京口起兵，请刘牢之为其司马，领南彭城内史，加辅国将军。同年王恭因会稽王司马道子诛杀王国宝并向其谢罪而罢军，但响应王恭的王𫷷不肯罢军，反攻伐王恭。王恭于是派刘牢之率兵五千攻打王𫷷，终在曲阿击溃王𫷷，王𫷷失踪而刘牢之在战后领晋陵太守。

背叛王恭

隆安二年（398年），王恭以讨伐司马尚之兄弟及王愉之名再度起兵，并联结了荆州刺史殷仲堪、广州刺史桓玄和豫州刺史庾楷。不过王恭经过上一年起兵逼令司马道子杀其宠臣王国宝后威名极盛，又因他出身门阀太原王氏，故此虽然倚重出身寒门的刘牢之为其爪牙，但其实只视之为一个行军将领而已，并不加以礼遇。刘牢之自负其才能，对于受到王恭如此对待十分愤恨，而当时司马道子世子司马元显受命为征讨都督，看出这一点后派了同为北府将领出身的庐江太守高素策反刘牢之，并允诺成功以后由刘牢之当上王恭的职位。刘牢之与儿子刘敬宣商量后同意。当时王恭参军何澹之知道刘牢之要背叛王恭，曾向王恭报告，但因何与刘有嫌隙，故此王恭未有取信，随后更特地置酒宴宴请刘牢之，当众拜其为兄，将手下精兵都给刘牢之统领。王恭随后便命他率领帐下督颜延作为前锋，然而刘牢之到竹里就杀颜延投降朝廷，并派了刘敬宣及高雅之攻击王恭，击败王恭军队，后王恭被捕遭处死。王恭死后，刘牢之就都督兖、青、幽、并、徐、扬州之晋陵诸军事、青兖二州刺史，代王恭镇守京口。刘牢之作为一个小将领，一朝登上如此高位，未得人心，于是树立腹心徐谦之以强化自己力量。而当时从荆州来响应王恭的杨佺期和桓玄并未退兵，在石头城上表求诛刘牢之，刘牢之于是自京口领北府军入援建康，行军至新亭时杨、桓二人畏惧退守蔡州，刘牢之亦受诏退兵京口。最终事件在殷仲堪、杨佺期及桓玄皆受命返回所镇州府而得以解决。

孙恩之乱

隆安三年（399年），孙恩率众攻陷会稽郡，会稽郡、吴国、吴兴郡、义兴郡、临海郡、永嘉郡、东阳郡及新安郡皆有人响应孙恩，聚众十万。刘牢之初遣桓宝及刘敬宣率兵救援三吴，在知道吴郡内史桓谦出走后，刘牢之就上表讨伐孙恩，并立刻出发。刘牢之到吴郡后，与朝廷所派的谢琰屡次击败敌军，并进临浙江，又得谢琰派高素支援。朝廷此时下诏进刘牢之为前将军、都督吴郡诸军事。刘牢之后渡江进攻孙恩，孙恩率众逃走，途中留下大量财物和年轻男女，刘牢之军队于是争相掠夺，不但令孙恩得以逃走，亦令当地期望朝廷军队到来的人大为失望。孙恩逃入海岛后，刘牢之还镇京口。
隆安四年（400年），孙恩再攻会稽，谢琰战死，刘牢之获进号镇北将军、都督会稽五郡，率兵东征孙恩。孙恩因受诸军进攻而逃回海中，刘牢之于是屯于上虞，又派诸将分驻诸县。隆安五年（401年），孙恩又攻浃口，刘牢之进击，又逼他逃回海中，但不久转攻吴国，杀吴国内史袁山松，随后更循海路一直北进，兵向京口，震动建康。刘牢之闻讯就从会稽郡山阴县截击孙恩，但赶不及，于是派刘裕自海盐县领兵沿着海岸抵抗孙恩。至丹徒，刘裕以少胜多，大败孙恩。孙恩重整后打算进攻建康，但当时建康已严阵以待，刘牢之亦已回到京口，于是北走。后孙恩又被刘裕大破，从此衰弱，只得又逃入海中。

背叛执政

元兴元年（402年）正月，朝廷执政司马元显讨伐荆州刺史桓玄，以刘牢之为前锋都督、征西将军，领江州事，又遣使者咨询讨伐桓玄的意见。不过，刘牢之以桓玄年轻时就有显赫名声，兼已掌握荆楚之众，害怕不能以军事力量制服他；另外刘牢之更怕一旦消灭桓玄会功高震主，不为司马元显所容，于是生了异心，只是逼于朝命才率京口文武出屯洌州。而桓玄此时顺江南下抵抗朝廷讨伐，又派了何穆劝告刘牢之倒戈。
刘牢之自以手握精锐的北府军，才能亦足以经纶江表，而且当时谯王司马尚之已经败于桓玄，人们都不看好朝廷，于是听信何穆的劝告，并派使者与桓玄通讯。当时刘裕和其外甥何无忌极力劝谏，儿子刘敬宣亦劝止，但刘牢之都不听。终在三月，刘牢之命刘敬宣向桓玄请降，不过其实桓玄已有除去刘牢之的意思，故意在与刘敬宣饮宴时拿出名画与其共赏，实则是安定对方之心而已，而刘敬宣亦没有察觉。刘牢之降桓玄后，司马元显不久就溃败，与司马尚之、张法顺等人皆被桓玄所杀。

背叛桓玄

桓玄在击败司马元显后控制朝廷，并调刘牢之为征东将军、会稽太守。此举将刘牢之调离北府军驻地京口，刘牢之于是说：“刚开始就夺去我兵权，大祸将至了。”当时刘敬宣劝刘牢之进攻桓玄所住的丞相府，但刘牢之犹豫，改驻班渎。刘牢之又向刘裕私下表示他想北投广陵相高雅之，以江北之众抵拒桓玄，不过刘裕则说：“将军你以数万精兵投降桓玄，他现在刚得志，威震天下，朝野人心都已经归向他，你又怎能到广陵呢！我将会解戎服回到京口了。”及后刘牢之大会僚佐讨论他据守江北抵抗桓玄的计划，然而其参军刘袭则说：“最不可做的事其实就是反叛，将军你当年背叛了王恭，最近又背叛了司马元显，今天更想背叛桓玄，一人三度反叛，怎样自立呀！”说完就走了出去，其他佐吏大多散走。刘牢之没人支持，于是大为恐惧，于是命刘敬宣回京口接家属来一起北投广陵，然而刘敬宣在过了约定日期后还未回来，刘牢之以为他的图谋已经被刘袭所泄露，刘敬宣和其家人皆已被桓玄诛杀，于是带着他的私兵一起北走。到新洲时刘牢之自缢身亡。刘敬宣赶来时也不敢为父而哭，逃奔到广陵，而刘牢之将吏则为其收葬，并在丹徒下葬，然而桓玄却砍毁其棺木，并斩首暴尸。
刘裕后来在京口举兵讨伐篡位称帝的桓玄，上申为刘牢之平反，令他获恢复其本来的官位。