卢循本有苟安岭南之心,只是在徐道覆的坚决要求下,才勉强起兵。卢、徐起兵以后,兵分两路,沿湘江、赣江顺流而下,很快就取得了长沙、豫章等地的胜利,尤其是在击败何无忌、刘毅军以后,兵威甚盛。然而,在桑落洲之战后,卢循得知刘裕已回师建康,他又开始犹豫不定,在浔阳滞留数日,大军才决定继续东下建康。即便此时,建康的守备仍非常薄弱,人心不稳,各地响应卢循的也不乏其人,建康城的确是危若累卵。而卢循却没有必胜的决心和勇气,没有趁着刘裕立足未稳,以压倒优势与晋军决战决胜,反而给了东晋朝廷十余日部署的良机,等到卢循随后再发起进攻时,已经难以得手。继而,卢循军的粮道又被庾悦、虞丘进军切断,部队在建康近郊又抢劫不到粮食,士气低落,无奈只好选择放弃强攻建康,退守浔阳,谋求夺占荆州。
退回浔阳的卢循,计划在刘裕反攻之前,夺下荆州,既能避免两面作战,又可以占据上游优势,以此为根据地,再慢慢与东晋朝廷对抗。在苟林失败后,卢循又命令徐道覆率领三万大军再次西上,进攻荆州。徐道覆军突然出现在江陵东南的破冢,当时,鲁宗之已率军返回了襄阳。江陵城内谣言四起,有人说卢循已攻克了建康,派遣徐道覆前来荆州担任荆州刺史,然而,荆州军民都对刘道规烧毁大家的通敌书信十分感激,不再存有二心。
刘道规命令刘遵率领一支游击部队迂回到战场侧翼,亲自率领荆州主力部队在豫章口(江陵东南)迎战徐道覆的军队。两军立即展开激战,荆州前锋失利,眼看就要溃败,就在这时,刘遵的这支奇兵突然从侧翼杀出,拦腰夹击徐道覆所部,正在追赶的徐道覆之军顿时被打得晕头转向,很快就溃败了。此战荆州军队斩杀敌军一万多人,剩余敌人几乎全部投水而死。徐道覆的三万人马全军覆没,他本人乘坐小船仓皇逃往滥口(江西九江)。
卢循企图夺取荆州的第二次努力又失败了。
而此时的刘裕经过三个月的忙碌,已做好了对卢循全面反攻的准备工作,也不再给其继续休整的时间。刘毅多次请求率军追击卢循,刘裕迟疑不决,长史王诞秘密对刘裕说∶“大人平定南燕,再灭掉卢循,将功盖天下,如此大功,岂能与他人分享刘毅与大人一起以百姓之身起事,推举大人为主,不过是权宜之计罢了,如今的刘毅已经蒙受桑落洲惨败,名誉受到损失,就不应再让他立下大功。”刘裕采纳了王诞的建议,命令刘毅作为太尉府总监,全权负责后方事宜。十月十四日,刘裕率领兖州刺史刘藩、宁朔将军檀韶、冠军将军刘敬宣等人率领大军从建康出发,西上进攻卢循。
义熙六年十一月,当王仲德等人听说刘裕大军即将西上的消息,他们决定在刘裕到来之前,对扼守南陵的卢循军范崇民部发起进攻。当时,范崇民所部一百多艘战舰分据长江两岸,天降大雾,刘钟亲自率领部队前往侦察。敌人用长钩将刘钟乘坐的小船钩住,刘钟趁势率领士兵进攻敌舰船门,敌人赶紧将船门关上,刘钟因此撤回。王仲德命令众将一齐向范崇民所部发起进攻,范崇民不敌,败退西撤。晋军追赶一百多里,烧毁了敌人大量战舰。
晋军取得南陵大捷的同时,建威将军孙处、振武将军沈田子这支远征军也经过了三个多月的海上跋涉,于十一月二日来到广州城下。卢循留守在广州的部队根本没有想到晋军会从海上长途奔袭而来,也没有做任何战斗准备。晋军行至广州十余里时,卢循军还未发觉。当时,广州城内尚有数千守军,城池坚固,但正巧当天是大雾天气,孙处下令将己方战舰全部焚毁,全军弃船登岸,从四面全力攻城,经过一天的激战,终于攻陷了广州城。卢循的父亲卢暇、长史孙建之、司马虞梃夫等,坐着小船逃奔始兴。孙处安抚居民,诛杀卢循同党,坚守城池,并命令振武将军沈田子等人率军平定了始兴(广东韶关)、南康(江西赣州)、临贺(广西贺州)、始安(广西桂林)等岭南诸郡。
王仲德等人为刘裕大军扫清了西进的障碍,刘裕大军顺利抵达浔阳以东以北的雷池地区。卢循军自撤离建康后,连续遭到惨败,急于与刘裕展开一场决战,以重振士气,扭转战局,而刘裕则驻军雷池,不急于对卢循发起进攻。卢循扬言将置刘裕雷池军于不顾,率领主力部队迳行东下,再次攻击建康。刘裕深知卢循本意是想决战,但又拿不定卢循的真实意思,担心他真的东下以后,建康出现意外,或者卢循战败,顺流东下进入大海。于是,他提前命令王仲德率领二百战舰东下,驻扎在吉阳,以备不测。
十二月二日,卢循、徐道覆率领数万大军顺流而下,战舰蔽塞江面,一眼望不到尽头。刘裕提前率一支奇兵渡过长江,登上长江南岸山岭,亲自挥舞战旗,敲动战鼓,命令全军出击,与敌决战。右军参军庾乐生的战舰畏敌不进,刘裕下令将其斩首,传首全军,于是,全军将士个个奋勇争先,向敌人杀去。刘裕在军中配备了大量威力巨大的弩箭,一时间,万箭齐发,敌人死伤惨重。就在这时,突然刮起了东北风,将卢循军的战舰都刮到了长江南岸,而早已在南岸埋伏的晋军,提前准备好了各类火器,从山岭上向敌舰投掷火把、火箭。霎时,狼烟四起,烟炎张天,烧毁了大量敌舰,江面上的晋军趁势朝敌人猛攻,卢循大败,狼狈逃回浔阳,晋军一直追杀到傍晚,这才凯旋。
刘裕将王仲德从吉阳召回,命其重新担任前锋,留下孟怀玉驻守雷池,大军随后向浔阳扑来。卢循听说刘裕将强攻浔阳,不敢恋战,打算向豫章南撤。于是,他在左里全力构筑防御工事,切断鄱阳湖的航道,以阻挡晋军南下。
十二月十八日,雷池大战半月以后,晋军被阻挡在左里。刘裕将下令出战时,手持的令旗旗杆却突然折断,令旗也掉到水中,将士们都十分害怕,以为这是一个不祥之兆。刘裕却朗声笑道∶“昔日覆舟山之战时,旗杆也曾经折断过,如今旗杆又断了,肯定能够取得大胜!”于是命令晋军朝敌人的营栅发起猛攻。卢循守军虽作殊死搏战,但依然无法击退晋军的进攻。卢循乘坐一只小船狼狈而逃,被斩杀及投水而死的士兵大约一万多人。战后,刘裕命令兖州刺史刘藩、中军谐议参军孟怀玉率领轻装部队,跟踪追击卢循残余部众,而刘裕则从左里回到建康,晋安帝派遣侍中、黄门侍郎犒劳刘裕。
雷池和左里两次决战,基本上消灭了卢循主力。卢循搜集散兵游勇,尚有数千人之众,他带着这数千人马一路朝广州逃去,徐道覆则退往始兴。刘裕临时指令建威将军褚裕之为广州刺史,朝廷任命其为都督交州广州诸军事、建威将军、领平越中郎将、广州刺史。
第二年即义熙七年(公元411年)一月,刘藩率领孟怀玉等诸将追到岭南。二月五日,孟怀玉所部经过一个月的围攻,终于攻陷了徐道覆固守的始兴,将徐道覆斩杀。卢循一路南撤,路上搜集残兵败将,行至广州,将固守此地的孙处包围了二十多日。当时,沈田子所部已加入刘藩战斗序列,协同刘藩、孟怀玉进攻始兴,听说广州孙处被围的消息,沈田子对刘藩说∶“广州城池虽然坚固,却是敌人的老巢,如今卢循前去围困,也许城内会发生变故。况且,孙处兵力薄弱,难以坚持很久。假使卢循再度占领广州,将恢复元气。下官与孙处患难与共,远渡大海,历经千难万险,才攻克广州,岂能坐视不救?”
四月,沈田子率领本部人马南下增援。孙处看到沈田子的援军到来,不禁大喜,城内守军士气随之大振。沈田子背水列阵,身先士卒,朝卢循军发起进攻,一战将其击溃,杀死敌军一万余人。沈田子与孙处合兵一处,追击卢循残部,又分别在苍梧(广西梧州)、郁林(广西桂平)、宁浦(广西横县),三战三捷,将卢循赶出广州地界。此时,孙处却身染重病,于是,部队停止追击,回到广州,不久,孙处在广州病死。当时,兵荒马乱之后,盗贼四起,沈田子率军四处出击,经过一个多月的战斗,将广州各处盗贼全部平定,等广州刺史褚裕之来到广州以后,沈田子这才率军返回京师。
当初,九真太守李逊发动叛乱,东晋交州刺史杜瑷将其诛杀,杜瑷死后,东晋朝廷即任命其子杜慧度继任交州刺史。此时,朝廷诏书尚未送达,而卢循却已袭占了合浦(广西合浦),向交州(治所龙编)杀来。杜慧度率领交州地方部队在河内东北的石碲击败卢循军,生擒卢循长史孙建之。卢循虽然战败,但仍有三千部众,均是百战余寇,而李逊的儿子李弈、李脱等人也招集当地山民,发动叛乱。卢循得知李奕等人与杜氏有仇,就派出使者请求与李奕等人联合,于是,李奕等人率领五六千当地山民,接受卢循的指挥。
四月二十四日清晨,卢循所部推进到龙编南郊渡口,此时,卢循、李奕之众将近万人,龙编城岌岌可危。而对于卢循而言,也是势在必得,他下令全军攻陷城池后,再吃早饭。杜慧度将家中的财产倾囊拿出,犒赏全军,然后,率军出城与卢循所部交战。杜慧度的弟弟、交趾太守杜慧期,九真太守杜章民率领水陆混合军团,杜慧度则亲自登上舰桥指挥,向卢循战舰发射火箭、投掷火炬,陆军在两岸乱箭夹击,一时间,卢循战舰全部起火,彻底崩溃。卢循中箭,自知难以逃脱,先将妻子和十余个儿子毒死,然后,招来姬妾问道∶“谁能随我而死?”多数人说∶“鸟雀尚且偷生,一起去死,实在很难。”也有的姬妾说∶“大人尚且要死,我岂能苟活?”卢循下令将不愿从死的姬妾全部毒死,自己则投水而死。
杜慧度将其尸体从水中捞出斩首,并斩杀了卢循之父卢暇、卢循的两个儿子、亲属录事参军阮静及中兵参军罗农夫、李脱等人,将全部人头传到建康。东晋朝廷加封杜慧度为龙编县侯,食邑千户。
持续十一年之久的孙恩、卢循之变,就此被平定。