淮北的冬天来得比较早,十月中旬就已经很冷。连日来天空中浓云密布,十月十五日清早,朔风骤起,接着纷纷扬扬地下起大雪来。李愬走出营门一看,认为奇袭蔡州的时机到了。他立刻传令李祐带领突击队3000人作先锋,他自己带领3000人为中军,部将李进诚带领3000人担任后卫,自文城栅出发。部将们不知道要向哪里进军。李愬只说:“部队往东行进。”雪在不停地下着。黄昏时候,李愬部队开到离蔡州城70里的张柴村,把守卫在这里的敌军和看管烽火台的士卒全部歼灭,占领了这个村庄。李愬命令士兵稍稍休息一会儿,吃点干粮,检查一下战马的鞍辔,留下500人镇守张柴村,大军继续冒雪东进。将领们越发不放心,问李愬到底向什么地方进军。李愬这才告诉他们:“到蔡州去捉拿吴元济。”将领们听了都很吃惊,可是又不敢不同意,只得服从命令,带领队伍前进。
风越刮越紧,雪越下越大,天气越来越冷。猛烈的北风卷着飞雪,向将士们迎面扑来,他们的脸和手早已麻木,似乎骨头都冻透了。旗帜冻裂了。战马冻得不敢嘶鸣,只能踏着厚厚的积雪艰难地前进。起先,队伍还能挣扎着行军,只是一部分年老体弱的士兵被冻死了。后来,不少年轻力壮的士兵也被冻死,连马匹都冻死了不少。由于风雪严寒,道路生疏,再加上夜间行军,将士们都以为是必死无疑,但是谁也不敢违抗李愬的军令。人们把心一横:“今晚上反正豁出命了,还怕什么!”这样一来,身上反而有劲了,能够坚持行军了。就这样,官军经过异常艰苦的行军,在天亮以前,终于到达蔡州城外。在靠近蔡州城边的地方,有一片养鹅养鸭的池塘,李愬命令士兵们把鹅鸭打得咕呱乱叫,用来混淆人马的声音。
自从吴氏父子割据淮西以来,唐朝官军不到蔡州城下已经有30多年了,谁也没有想到官军竟敢在大雪的夜里进袭蔡州。因此李愬的军队来到蔡州城下,没有被敌人发觉。先锋将领李祐带领少数士兵挖坎爬城,把睡得正熟的守城士卒全部杀死,只留下打更的,叫他照常打更;然后打开城门,让官军大队人马开进了蔡州城。吴元济这时候还在被窝里睡觉。有人向他报告说“官军到了!”吴元济笑道:“准是囚犯们在偷东西,天亮后一定要把他们全部杀掉。”过一会儿,又有人向吴元济报告:“城已经陷落了!”吴元济说:“这一定是洄曲子弟向我来求寒衣呢!”后来他听到官军在传达号令,才慌忙起床,带领随从人员,爬上内城的城墙进行抵抗。李愬命令部队把内城团团围住。蔡州人民长期遭受吴氏父子的掠夺和压迫,十分痛恨吴元济,现在见官军已经攻破外城,包围了内城,都争着背柴担草,帮助焚烧内城的南门。门被烧毁,官军涌入。吴元济绝望了,只好在城上自请处分。李进诚用梯子把他接下来。这是十月十七日的事。第二天,李愬一面用囚车把吴元济押送到京城长安去,一面把胜利收复蔡州的消息派人报告给宰相裴度。
李愬命令士兵把鹅鸭打得咕呱乱叫,用来混淆人马的声音。
吴元济的部将董重质,还带领精锐部队10000多人镇守洄曲。李愬为了争取这部分淮西军归降,亲自到蔡州城内董重质的家中去访问,对董重质的家属进行了抚慰,并且叫董重质的儿子拿着信去劝说他父亲归顺朝廷。董重质读了李愬给他的信,单人匹马来向李愬投降。原来在吴元济控制下的申、光二州守将,听到蔡州被攻破,吴元济被俘获,也先后不战而降。淮西平定了,淮西之战到此胜利结束。十一月,唐宪宗下令把吴元济杀死在长安的独柳树下。
李愬将裴度迎入蔡州,自己领兵回到文城栅。将领们向他请教说:“当初您在朗山打了败仗,一点也不忧虑,反而高兴;在吴房打了胜仗,却不乘胜拿下这个地方;冒着大风雪,连夜急行军,孤军深入敌人巢穴,却毫不畏缩;终于一举攻克蔡州,取得胜利,这是什么道理呢?”李愬解释说:“我们故意在朗山失利,让敌人轻视我们,对我们不多加防备。如果我们拿下吴房,那里的敌人就会逃回蔡州,合力坚守;留着吴房不取,用来分散敌人的兵力,有利于我们袭破蔡州。大风大雪,天气阴晦,敌人看不清报警的烽火,无法知道我军会突然进击。孤军深入,大家懂得处境危急,每个人都会拼死力战,因此有把握取得战争胜利。”
李愬的分析是很有道理的,他能够麻痹敌人,利用天时。但是还有很重要的一点他没有说到,这就是自始至终,李愬成功地实行了优待俘虏和重用降将的政策,从而能够分化瓦解敌人,增强自己的力量,终于一战获得胜利。
淮西平定之后,许多藩镇看到唐朝朝廷有决心有实力讨伐叛乱,就不得不收敛一些,表示服从朝廷。因此往后一段时间里,唐朝政治形势有了改善,出现了相对集中统一的局面,这对人民对社会生产都是有利的。