皇帝劉義隆的皇后袁氏生下皇子劉劭后,詳視相貌,感覺很不好,派人向皇帝說明:「此兒形貌異常,必破亡國家,不可留!」就要殺掉嬰兒劉劭。皇帝匆忙狼狽地跑到皇後宮門外,用手撥開門帘制止,才沒有殺此嬰兒。然而後來事情的發展卻印證了皇后的預感。皇帝劉義隆日後竟然真的是死於此兒手中。但這是后話。
皇帝下詔戒嚴,大赦天下,各路軍依次出發討伐謝晦。謝晦任用弟弟謝遁為竟陵內史,率一萬兵士留守,自己率領二萬軍士從江陵出發,舟艦從江陵一直排列到破冢,旌旗密布遮天蔽日,謝晦嘆息說:「恨不得以此大軍為勤王之師。」
庚申日(十一日),皇上從建康出發。命令王弘與彭城王劉義康留守建康。謝晦從江陵順江東下,何承天留在江陵沒有隨從。謝晦到了江口,朝廷方面到彥之率軍抵達彭城州。兩軍對峙十數日後,謝晦派中兵參軍孔延秀攻打彭城州,獲勝。又攻陷洲口柵。朝廷方各將領見狀驚慌都要退守夏口,到彥之不許可,才保住隱圻。謝晦又上表,矜誇自己取得的勝利,並說:「陛下如果能誅殺四凶(指王弘,王曇首,王華等人)於朝廷,設立三監官職於皇宮,臣就收兵退還任所。」
當初,謝晦和徐羨之,傅亮以為保全自己的萬全之策是讓謝晦佔據長江上游江陵,檀道濟鎮守廣陵,兩人各自擁有強兵,足以控制朝廷;徐羨之,傅亮居於朝廷中樞掌控權力,這樣內外呼應可以維持長久。可是等到他們聽說檀道濟領兵逆流而上,頓時惶恐得不知所措。
檀道濟抵達彭城州,與到彥之兩軍會合,為迷惑謝晦,有意把軍艦拖靠岸邊,謝晦看到對方舟艦數量不多,輕敵而未即時出戰。到了傍晚,檀道濟水軍風起帆升,溯江而上,舟艦前後相連,密布江面;岸西的謝晦軍士看了驚恐沮喪,失去戰鬥意志。戊辰日(十九日),朝廷大軍抵達忌置洲尾,成列的舟艦渡過長江,謝晦軍一下子都崩潰了。謝晦在夜間逃出,投奔巴陵,得到一艘小船逃回江陵。
起初,皇帝劉義隆派雍州刺史劉粹從陸路率步騎兵襲擊江陵,到了沙橋,周超率領萬餘人逆襲,大敗劉粹,劉粹士兵死傷過半。然而不久,謝晦兵敗的消息傳到。謝晦與劉粹之前關係友好,謝晦用劉粹的兒子劉曠之為參軍,皇帝為此對劉粹有所懷疑,王泓對皇帝說:「劉粹沒有私心,一定不用擔心。」等到劉粹接受命令南討謝晦,全然無所顧忌,皇帝才放心並因此嘉許他。而謝晦也沒有殺劉粹的兒子劉曠之,而是將劉曠之遣回到劉粹處。
謝晦逃回江陵,對於朝廷大軍逼近,沒有任何措施,只是慚愧地感謝周超打敗劉粹而已。當天晚上,周超就捨棄軍隊獨自坐小船前往到彥之軍營中投降。謝晦的軍隊幾乎都四散逃光了,謝晦與他的弟弟謝遁等七人騎馬向北逃竄。謝遁身軀肥壯,騎馬不便,謝晦常常要等他,走不快。己卯日(三十日),走到安陸延頭時,被守軍軍官光顧之捉獲,用檻車送到建康。
到彥之軍到達馬頭,何承天自行前來歸降。到彥之監管荊州政務,讓周超做參軍;劉粹告訴到彥之周超之前率軍在沙橋襲擊自己的事,到彥之於是逮捕了周超。接著誅殺謝晦,謝皭,謝遁以及他們兄弟幾人的兒子,以及同黨孔延秀,周超等人。謝晦的女兒,彭城王妃披散頭髮,赤腳與謝晦訣別,說:「大丈夫應當橫屍戰場,怎能狼狽如此被捉到都市斬首示眾!」謝晦當年在高祖劉裕時代春風得意門庭若市時候,他的次兄謝瞻就憂心他日後會福盡災來樂極生悲,多次要求劉裕將謝晦貶職,這種擔心不幸日後變成了現實。而謝瞻因為英年早逝,終於沒有受到謝晦的牽連。庾登之因逃避責任,被免官禁錮;何承天和參軍王玄謨等人都被赦免。當初,謝晦在逃跑時,左右之人都拋棄他各奔東西,只有延陵蓋追隨他不離不棄,皇帝嘉許他的忠誠,派他擔任鎮軍功曹督護。
益州刺史張茂度受詔襲擊江陵,一直等到謝晦失敗了,張茂度的軍隊才抵達白帝。大臣們都懷疑張茂度懷揣二心,皇帝以張茂度的弟弟張卲有忠誠節操,而赦免了張茂度,不再追究,派人更代他的益州刺史職位,將他調回京師。