率军攻打湘中(今湖南中部)各郡。荆州刺史刘道规派军队迎战,在长沙战败。卢循进军到巴陵(今湖南岳阳),准备进攻江陵。徐道覆听说刘毅即将到来,派人快马告诉卢循说:“刘毅的军队很强大,成败关键就在这一战,应当合力击败他。如果这一战胜利,江陵就不值得担心了。” 卢循当天从巴陵出发,与徐道覆合兵东下。五月,戊午日(初七),刘毅与卢循在桑落洲(今江西九江东北长江中)交战,刘毅的军队大败,他弃船上岸,率领几百人步行逃跑,其余部众都被卢循俘虏,丢弃的军用物资堆积如山。
起初,卢循抵达寻阳时,听说刘裕已经返回,还不相信;攻克刘毅的军队后,才确认消息,他和党羽们相视失色。卢循想退回寻阳,攻取江陵,占据江州、荆州来对抗朝廷。徐道覆认为应当乘胜直接进攻建康,坚持争辩。卢循犹豫了几天,最终听从了徐道覆的建议。
己未日(初八),朝廷宣布大赦。刘裕招募百姓当兵,赏赐标准和当初京口起兵时相同。征发百姓修筑石头城(今江苏南京城西)。有人建议分兵防守各渡口要地,刘裕说:“贼众我寡,如果分兵驻守,就会让敌人摸清我们的虚实;而且一处失利,就会动摇三军的士气。如今把军队聚集在石头城,根据情况随时应对,既让敌人无法判断我们的兵力多少,又能集中力量。如果后续军队逐渐集结,再慢慢商议其他策略。”
朝廷听说刘毅战败,人心惶惶。当时北伐的军队刚返回,将士大多受伤生病,建康的士兵不足几千人。卢循攻克江州、豫州(刘毅驻守的地区)后,拥有十多万士兵,战船车马绵延百里,楼船高达十二丈,战败逃回的人争相诉说贼军的强盛。孟昶、诸葛长民想护送安帝渡过长江,刘裕不同意。起初,何无忌、刘毅南征时,孟昶预料他们一定会战败,后来果然如此。到这时,孟昶又认为刘裕一定无法抵抗卢循,众人大多相信他的话。只有龙骧将军东海人虞丘进在朝廷上反驳孟昶等人,认为不会这样。中兵参军王仲德对刘裕说:“明公您是顺应天命的辅臣,刚建立大功,威震天下,妖贼乘虚入侵,如今听说您凯旋归来,一定会溃散。如果您先逃跑,就会和普通人一样,普通人发号施令,怎么能威慑众人!如果这个计划被采纳,我请求从此告辞。” 刘裕非常高兴。孟昶坚持请求不已,刘裕说:“如今重要的藩镇沦陷,强大的贼军逼近,人心恐惧,没有坚定的意志;如果一旦迁都,就会土崩瓦解,江北又怎么能到达呢!即使能到达,也不过是延长几天寿命罢了。如今士兵虽然少,但足够一战。如果能取胜,君臣就能共享太平;如果厄运必定到来,我会战死在宗庙门前,实现我历来以身报国的志向,不能躲藏在民间苟且求生。我的计划已经决定了,你不要再多说!” 孟昶因自己的建议不被采纳而愤怒,又认为一定会战败,于是请求自杀。刘裕发怒说:“你姑且再打一仗,死又何必着急!” 孟昶知道刘裕最终不会采纳他的建议,就上奏表自责说:“刘裕北伐时,众人都不同意,只有我赞同他的计划,导致强贼乘虚而入,国家危急,这是我的罪过。谨以此表向天下人谢罪!” 封好奏表后,孟昶服毒自杀。
乙丑日(五月十四日),卢循率军抵达淮口(今江苏南京西北,秦淮河入长江处),朝廷内外实行戒严。琅邪王司马德文担任都督宫城诸军事,驻守中堂皇(皇宫中的殿堂);刘裕驻守石头城(今江苏南京城西),其他将领也各自有驻守的地方。刘裕的儿子刘义隆才四岁,刘裕派咨议参军刘粹辅佐他,镇守京口(今江苏镇江丹徒)。刘粹,是刘毅的同族弟弟。
刘裕看到百姓靠近水边观望贼军,对此感到奇怪,就问参军张劭原因。张劭说:“如果您(持节钺,代指刘裕)还没回来,百姓连逃跑都来不及,哪有心思观望?现在他们是不再害怕了啊。贼军如果从新亭(今江苏南京江宁南)直接进军,其锋芒锐不可当,我们应当暂时回避,胜负还难以预料;如果他们回船停泊在西岸,就一定会被我们擒获。”
徐道覆请求从新亭到白石(今江苏南京江宁西北)一带烧掉船只上岸,分几路进攻刘裕。
