光德十三年(817年)八月廿七日,淮西宣慰处置使裴度来到郾城(今属河南),他选定郾城作为自己的官署。在此之前,诸道都有中使(宦官)监督战阵,干扰军队将领指挥。裴度奏请将各处监督战阵的中使全部罢除,各将领这才得以专力办理军中事务,在作战中经常取胜。
九月,淮西降将李佑建议唐随邓节度使李愬袭击蔡州。李佑认为,蔡州的精锐兵马全都被派往洄曲(今河南漯河南)及四周的边境上在那里防御守备官军,防守蔡州城的兵力都是老弱残兵,可以乘蔡州空虚,直接抵达蔡州城下,活捉贼魁吴元济。李愬采纳其策。十月八日,李派遣掌书记郑前往郾城,秘密禀报裴度,裴度说:“用兵打仗,不出奇兵,不能取胜,李常侍提出了一个很好的计划啊。”
十月十五日,李愬命令马步都虞候史留下来镇守文城(今河南遂平西),命令李祐与李忠义率领由敢死之士组成的突将三千人作为前导,命令田进诚率领三千人居于军队的后部,自己与监军率领三千人作为中军,整装出兵。行六十里,天黑至张柴村(今河南遂平东),将屯戍村中的淮西士兵和守候烽火的人员全部杀死,占领了敌军的栅垒。李愬命令将士略作休整,留下五百人镇守,切断淮西时曲(今河南漯河南)守兵退路。然后率军继续东进。当时,风雪大作,旗帜破裂,冻死的战士与马匹到处可见,官军走了七十里路,来到蔡州城下。靠近城边有一处喂养鹅鸭的池塘,李愬命令哄打鹅鸭,以便遮掩军队行走的声音。自从吴少诚抗拒朝命,官军不到蔡州城下已经有三十多年,所以蔡州人没有防备。十六日夜,李佑率突将先登入城,杀城上守卒,开门迎接李愬。拂晓,李愬入居吴元济外宅。元济正熟睡,闻李愬军令声,慌忙率随从登牙城拒战。时吴元济大将董重质率精兵万余人屯守时曲,李愬厚待其家眷,派其子赴时曲送信招降。重质遂单骑回城受降。李愬将李进诚攻打蔡州牙城,蔡州百姓纷纷取柴草助官军焚烧城门,十七日傍晚,克牙城,吴元济降。十八日,李愬将吴元济解送镐京,并向裴度告捷。是日,淮西申州(今河南信阳)、光州(今河南潢川)二州及各处守卒二万余人皆降,淮西平定。