将领们又向李愬请示往哪里去,李愬这才宣布:“到蔡州去,捉拿吴元济!”将领中有一些是在吴元济手里吃过败仗的,一听到这个命令,吓得脸色都变了。监军的宦官特别胆小,急得哭了起来,说:“我们果然中了李祐的奸计了。”这个时候,天色黑洞洞的,北风越刮越紧,鹅毛般的大雪越下越密。从张柴村通往蔡州的路,是唐军从来没走过的小道。大家暗暗叫苦,但是,李愬平日治军很严,谁也不敢违抗军令。半夜里,兵士们踏着厚厚的积雪,又赶了七十里,才到了蔡州城边。正好城边有一个养鹅、鸭的池塘,鹅鸭的叫声,把人马发出的响声掩盖过去了。李祐、李忠义吩咐兵士在城墙上挖了一个个坎儿,他们带头踏着坎儿爬上城,兵士们也跟着爬上去。守城的淮西兵正在呼呼睡大觉,唐军把他们杀了,只留着一个打更的,叫他照样敲梆子打更。接着,打开城门,让李愬大军进城。大军到了内城,也照这个办法顺利地打进了城,内城里的淮西军一点也没有发觉。鸡叫头遍的时候,天蒙蒙亮了,雪也止了。唐军已经占领了吴元济的外院,吴元济还在里屋睡大觉呢。有个淮西兵士发现了唐军,急忙闯进里屋报告吴元济说:“不好了,官军到了。”吴元济懒洋洋躺在床上不想起来,笑着说:“这一定是犯人们在闹事,等天亮了看我来收拾他们。”刚说完,又有兵士气急败坏地冲进来说:“城门已经被官军打开了。”吴元济奇怪起来,说:“大概是洄曲那边派人来找我们讨寒衣的吧!”吴元济起了床,只听见院子里一阵阵吆喝传令声:“常侍传令啰……”(常侍是李愬的官衔)接着,又是成千上万的兵士的应声。吴元济这才害怕起来,说:“这是什么常侍?怎么跑到这儿来传令?”说着,带了几个亲信兵士爬上院墙抵抗。
李愬对将士说:“吴元济敢于顽抗,是因为他在洄曲还有一万精兵,等待那边来援救。”驻洄曲的淮西将领董重质,家在蔡州。李愬派人慰抚董重质的家属,派董重质的儿子到洄曲劝降。董重质一看大势已去,就亲自赶到蔡州向李愬投降了。李愬命令将士继续攻打院墙,砸烂了外门,占领了军械库。吴元济还想凭着院墙顽抗。第二天,李愬又放火烧了院墙的南门。蔡州的百姓们受够吴元济的苦,都扛着柴草来帮助唐军,唐军兵士射到内院里的箭,密集得像刺猬毛一样。到太阳下山的时候,内院终于被攻破,吴元济没有办法,只好哀求投降。李愬取得了全胜,一面用囚车把吴元济押送到长安去,一面派人向宰相裴度报告战果。裴度、李愬平定淮西、活捉吴元济的消息传到河北,使河北藩镇大为震动,纷纷表示服从政府。唐代藩镇叛乱的局面总算暂时安定了下来。