刘牢之

北府軍團

太元二年（377年），謝玄就任兗州刺史，鎮守廣陵。鑑於北方前秦的軍事威脅，謝玄就大肆招募兵勇，劉牢之與孫無終、何謙等人都以驍勇而獲選，並得謝玄任用為其參軍，率領精兵作為前鋒。太元四年（379年）前秦將領俱難南侵，攻陷淮陰；不久再與彭超、毛當等進攻淮南，攻陷盱眙並圍困離廣陵僅百里的三阿，震動京師。謝玄於是親自率軍營救三阿，劉牢之亦隨軍，並在三阿解圍後進攻盱眙，成功攻取前秦軍在盱眙的輜重，並獲得其運輸船。謝玄於君川大敗俱難和彭超後，獲加領徐州刺史，移鎮京口，劉牢之則升鷹揚將軍，接替謝玄任廣陵相。因京口又被稱為「北府」，這支包括劉牢之在內，由謝玄所統的軍隊就有「北府軍」之名。

淝水之戰

太元八年（383年），荊州刺史桓沖派十萬兵北伐前秦，宣城內史胡彬亦率兵向壽陽以作聲援，劉牢之亦領二千兵作為胡彬後繼。桓沖於當年七月退兵後，前秦就於八月派二十五萬前鋒南侵，準備消滅東晉，謝玄等人受命領兵抵抗。十月，苻融攻陷壽陽，胡彬與劉牢之率兵抵抗但不敢前進，退屯硤石。十一月，謝玄命劉牢之率精兵五千人進攻領兵二萬駐守洛澗的梁成。梁成雖在劉牢之於十里以外時就已在洛澗邊陳兵等待，但劉牢之直接率兵渡水進攻，大敗前秦軍並斬殺梁成，及後更分兵絕前秦殘兵歸路，於是前秦軍崩潰，爭相渡過淮河，斬獲萬多人，盡收其器械。因著劉牢之大勝，征討大都督謝石就率諸軍前進，與前秦天王苻堅率領的前秦軍隔著淝水對峙，及後東晉就大敗前秦軍，成功消除了這一場危機。

謝玄北伐

太元九年（384年），前秦在淝水之戰中大敗後國內發生叛亂，劉牢之攻克譙城，遷龍驤將軍、彭城內史，並以功封武岡縣男。同年東晉開始北伐，由謝玄作為前鋒都督領軍。及後劉牢之就進攻前秦兗州刺史張崇，張崇棄鄄城逃走，劉牢之就進據鄄城，黃河以南一帶城堡多數都前來歸附。
同時，慕容垂建立的後燕正在擴張其勢力，據守鄴城的苻丕困逼，而當時劉牢之已經據有黃河邊的重鎮碻磝，東晉其他北伐軍隊亦已在滑臺和滑臺以北的黃河北岸駐紥，苻丕於是向謝玄求援。原本苻丕所寫的信表示他欲求糧西赴長安，並以鄴城獻給東晉；並開條件若長安失守，要讓他據兵守鄴城。楊膺、姜讓和焦逵認為這必定失敗，決定改寫為苻丕向東晉請降，更謀定若苻丕反抗就縛起他送給晉軍。當時慕容垂已圍困鄴城，逼其棄城，謝玄於是派劉牢之和滕恬之等領兵二萬救援苻丕。太元十年（385年），劉牢之進軍至枋頭，但楊膺等人的意圖敗露被苻丕所殺，因著焦逵求援時曾將他們的圖謀告予謝玄，故劉牢之聞訊後一度盤桓不進。及後劉牢之進攻後燕黎陽太守劉撫，慕容垂親率軍隊營救，劉牢之不能取勝，於是退守黎陽；苻丕亦未能趁此攻敗圍城軍隊，慕容垂於是返回圍困鄴城。至四月，劉牢之抵達鄴城，，往新城走，及後北歸。劉牢之見此，未通知苻丕就立刻領兵追擊，苻丕知道後亦領兵後繼。慕容垂於董唐淵被劉牢之追及，但劉牢之軍疾走二百里，到五澤橋時就爭相搶奪燕軍輜重，因而被慕容垂大敗，劉牢之隻身騎馬逃走，因苻丕後繼到來才安然無恙。劉牢之及後收集亡散，恢復部份軍力，但因兵敗而被徵還。後以龍驤將軍守淮陰，後又改駐彭城，領彭城太守。

保衞北境

太元十四年（389年），彭城人劉黎在皇丘稱帝，劉牢之率軍平定。後前秦將領張遇攻破金鄉，圍攻太山太守羊邁，劉牢之派向欽之救援並擊退張遇，然而丁零首領翟遼派子翟釗率兵救張遇，劉牢之於是退軍，而翟釗退軍時，劉牢之就先平定太山郡，又追擊翟釗，令翟釗退歸河北而且俘虜張遇。接著又在滑台擊敗翟遼，令叛將張願歸降。太元十八年（393年），司馬徽在馬頭山聚眾，劉牢之又派部將竺朗之平定。但太元十九年（394年）時，後燕南侵，攻掠廩丘，高平太守徐含遠告急，劉牢之因不能救援而被指畏懦，遭免官。

王恭爪牙

隆安元年（397年），青兗二州刺史王恭以討伐王國寶之名於京口起兵，請劉牢之為其司馬，領南彭城內史，加輔國將軍。同年王恭因會稽王司馬道子誅殺王國寶並向其謝罪而罷軍，但響應王恭的王廞不肯罷軍，反攻伐王恭。王恭於是派劉牢之率兵五千攻打王廞，終在曲阿擊潰王廞，王廞失蹤而劉牢之在戰後領晉陵太守。

背叛王恭

隆安二年（398年），王恭以討伐司馬尚之兄弟及王愉之名再度起兵，並聯結了荊州刺史殷仲堪、廣州刺史桓玄和豫州刺史庾楷。不過王恭經過上一年起兵逼令司馬道子殺其寵臣王國寶後威名極盛，又因他出身門閥太原王氏，故此雖然倚重出身寒門的劉牢之為其爪牙，但其實只視之為一個行軍將領而已，並不加以禮遇。劉牢之自負其才能，對於受到王恭如此對待十分憤恨，而當時司馬道子世子司馬元顯受命為征討都督，看出這一點後派了同為北府將領出身的廬江太守高素策反劉牢之，並允諾成功以後由劉牢之當上王恭的職位。劉牢之與兒子劉敬宣商量後同意。當時王恭參軍何澹之知道劉牢之要背叛王恭，曾向王恭報告，但因何與劉有嫌隙，故此王恭未有取信，隨後更特地置酒宴宴請劉牢之，當眾拜其為兄，將手下精兵都給劉牢之統領。王恭隨後便命他率領帳下督顏延作為前鋒，然而劉牢之到竹里就殺顏延投降朝廷，並派了劉敬宣及高雅之攻擊王恭，擊敗王恭軍隊，後王恭被捕遭處死。王恭死後，劉牢之就都督兗、青、幽、並、徐、揚州之晉陵諸軍事、青兗二州刺史，代王恭鎮守京口。劉牢之作為一個小將領，一朝登上如此高位，未得人心，於是樹立腹心徐謙之以強化自己力量。而當時從荊州來響應王恭的楊佺期和桓玄並未退兵，在石頭城上表求誅劉牢之，劉牢之於是自京口領北府軍入援建康，行軍至新亭時楊、桓二人畏懼退守蔡州，劉牢之亦受詔退兵京口。最終事件在殷仲堪、楊佺期及桓玄皆受命返回所鎮州府而得以解決。

孫恩之亂

隆安三年（399年），孫恩率眾攻陷會稽郡，會稽郡、吳國、吳興郡、義興郡、臨海郡、永嘉郡、東陽郡及新安郡皆有人響應孫恩，聚眾十萬。劉牢之初遣桓寶及劉敬宣率兵救援三吳，在知道吳郡內史桓謙出走後，劉牢之就上表討伐孫恩，並立刻出發。劉牢之到吳郡後，與朝廷所派的謝琰屢次擊敗敵軍，並進臨浙江，又得謝琰派高素支援。朝廷此時下詔進劉牢之為前將軍、都督吳郡諸軍事。劉牢之後渡江進攻孫恩，孫恩率眾逃走，途中留下大量財物和年輕男女，劉牢之軍隊於是爭相掠奪，不但令孫恩得以逃走，亦令當地期望朝廷軍隊到來的人大為失望。孫恩逃入海島後，劉牢之還鎮京口。
隆安四年（400年），孫恩再攻會稽，謝琰戰死，劉牢之獲進號鎮北將軍、都督會稽五郡，率兵東征孫恩。孫恩因受諸軍進攻而逃回海中，劉牢之於是屯於上虞，又派諸將分駐諸縣。隆安五年（401年），孫恩又攻浹口，劉牢之進擊，又逼他逃回海中，但不久轉攻吳國，殺吳國內史袁山松，隨後更循海路一直北進，兵向京口，震動建康。劉牢之聞訊就從會稽郡山陰縣截擊孫恩，但趕不及，於是派劉裕自海鹽縣領兵沿著海岸抵抗孫恩。至丹徒，劉裕以少勝多，大敗孫恩。孫恩重整後打算進攻建康，但當時建康已嚴陣以待，劉牢之亦已回到京口，於是北走。後孫恩又被劉裕大破，從此衰弱，只得又逃入海中。

背叛執政

元興元年（402年）正月，朝廷執政司馬元顯討伐荊州刺史桓玄，以劉牢之為前鋒都督、征西將軍，領江州事，又遣使者諮詢討伐桓玄的意見。不過，劉牢之以桓玄年輕時就有顯赫名聲，兼已掌握荊楚之眾，害怕不能以軍事力量制服他；另外劉牢之更怕一旦消滅桓玄會功高震主，不為司馬元顯所容，於是生了異心，只是逼於朝命才率京口文武出屯洌州。而桓玄此時順江南下抵抗朝廷討伐，又派了何穆勸告劉牢之倒戈。
劉牢之自以手握精鋭的北府軍，才能亦足以經綸江表，而且當時譙王司馬尚之已經敗於桓玄，人們都不看好朝廷，於是聽信何穆的勸告，並派使者與桓玄通訊。當時劉裕和其外甥何無忌極力勸諫，兒子劉敬宣亦勸止，但劉牢之都不聽。終在三月，劉牢之命劉敬宣向桓玄請降，不過其實桓玄已有除去劉牢之的意思，故意在與劉敬宣飲宴時拿出名畫與其共賞，實則是安定對方之心而已，而劉敬宣亦沒有察覺。劉牢之降桓玄後，司馬元顯不久就潰敗，與司馬尚之、張法順等人皆被桓玄所殺。

背叛桓玄

桓玄在擊敗司馬元顯後控制朝廷，並調劉牢之為征東將軍、會稽太守。此舉將劉牢之調離北府軍駐地京口，劉牢之於是說：「剛開始就奪去我兵權，大禍將至了。」當時劉敬宣勸劉牢之進攻桓玄所住的丞相府，但劉牢之猶豫，改駐班瀆。劉牢之又向劉裕私下表示他想北投廣陵相高雅之，以江北之眾抵拒桓玄，不過劉裕則說：「將軍你以數萬精兵投降桓玄，他現在剛得志，威震天下，朝野人心都已經歸向他，你又怎能到廣陵呢！我將會解戎服回到京口了。」及後劉牢之大會僚佐討論他據守江北抵抗桓玄的計劃，然而其參軍劉襲則說：「最不可做的事其實就是反叛，將軍你當年背叛了王恭，最近又背叛了司馬元顯，今天更想背叛桓玄，一人三度反叛，怎樣自立呀！」說完就走了出去，其他佐吏大多散走。劉牢之沒人支持，於是大為恐懼，於是命劉敬宣回京口接家屬來一起北投廣陵，然而劉敬宣在過了約定日期後還未回來，劉牢之以為他的圖謀已經被劉襲所泄露，劉敬宣和其家人皆已被桓玄誅殺，於是帶著他的私兵一起北走。到新洲時劉牢之自縊身亡。劉敬宣趕來時也不敢為父而哭，逃奔到廣陵，而劉牢之將吏則為其收葬，並在丹徒下葬，然而桓玄卻砍毀其棺木，並斬首暴屍。
劉裕後來在京口舉兵討伐篡位稱帝的桓玄，上申為劉牢之平反，令他獲恢復其本來的官位。