唐朝中期,淮西鎮是當時藩鎮割據的一個頑固堡壘。公元814年,淮西節度使吳少陽去世,他的兒子吳元濟自立。唐憲宗發兵四路征討淮西,但是連續攻戰三四年卻勞而無功。第一任主帥高霞寓被吳元濟打得大敗,第二任主帥袁滋畏敵如虎,一直不敢與吳元濟交戰。在這種形式下,朝廷有不少官員都認為不能再打下去,大臣裴度卻認為淮西好比身上長的毒瘡,不可不除。唐憲宗拜裴度為宰相,決心繼續征討淮西。
公元817年,朝廷派李愬(sù)擔任唐州(今河南唐河)第三州節度使,要他進剿吳元濟的老巢蔡州(今河南汝南)。
唐州的將士打了幾年仗,都不願再打,聽到李愬一來,有點擔心。李愬到了唐州,就向官員宣布說:“我是個懦弱無能的人,朝廷派我來,是為了安頓地方秩序。至於打仗,我不行。”
這個消息傳到了吳元濟那裏。吳元濟打了幾次勝仗,本來就有點驕傲,聽到李愬不懂得打仗,更不把防備放在心上了。以後,李愬根本不提打淮西的事。唐州城裏有許多生病和受傷的兵士,李愬一家上門慰問,將士們都很感激他。
元和十二年(公元818年)二月,李愬的兵士在邊界巡邏,碰到一小股淮西兵士,唐軍把淮西兵士打跑了,生擒了淮西軍的一個小軍官丁士良。丁士良是吳元濟手下的一名勇將,經常帶人侵犯唐州一帶,唐軍中很多人都吃過他的虧,非常恨他。這一回活捉了他,大夥都請求李愬把他殺了,給死亡的唐軍兵士報仇。
將士們把丁士良押到李愬跟前。李愬吩咐兵士給他鬆了綁,好言好語問他為什麽要跟吳元濟鬧叛亂。丁士良本來不是淮西兵士,是被吳元濟俘虜過去的,見李愬這樣寬待他,深受感動,並向李愬獻了一計,就投降了。
李愬靠丁士良的幫助,打下了淮西的據點——文城寨和興橋寨,先後收服了兩個降將,一個叫李祐,一個叫李忠義。李愬知道這兩人都是有勇有謀的人,就推心置腹地信任他們,跟兩人秘密討論攻蔡州的計劃,有時討論到深更半夜。李祐向李愬獻計說:“吳元濟的精兵都駐紮在洄(huí)曲(今河南商水西南部)和四麵邊境上,守蔡州的不過是一些老弱殘兵。我們抓住他的空隙,直攻蔡州,活捉吳元濟是沒問題的。”
李愬把這個計劃秘密派人告訴裴度。裴度也支持他,說:“打仗就是要出奇製勝,你們看著辦吧。”
李命令李祐、李忠義帶領精兵三千充當先鋒,自己親自率中軍、後衛陸續出發。除了李愬、李祐幾個人,誰也不知道到哪裏去。有人偷偷問李愬,李愬說:“隻管朝東前進!”
趕了六十裏地,到了張柴村。守在那兒的淮西兵毫無防備,被李愬帶的先鋒部隊全部消滅。李愬占領了張柴村,命令將士休息一會,再留下一批兵士守住張柴村,截斷通往洄曲的路。一切安排妥當,他就下令連夜繼續進發。
將領們又向李愬請示往哪裏去,李愬這才宣布:“到蔡州去,捉拿吳元濟!”
將領中有一些是在吳元濟手裏吃過敗仗的,一聽到這個命令,大驚失色。監軍的宦官特別膽小,急得哭了起來,說:“我們果然中了李祐的奸計了。”對此,李愬不予理睬,嚴令全軍以最快的速度前進。
這個時候,天色已晚,並下起了大雪。從張柴村通往蔡州的路,是唐軍從來沒走過的小道。大家暗暗叫苦,但是,李愬平日治軍很嚴,誰也不敢違抗軍令。
半夜裏,兵士們踏著厚厚的積雪,又趕了七十裏,才到了蔡州城邊。正好城邊有一個養鵝、鴨的池塘,把人馬發出的響聲掩蓋過去了。
李祐、李忠義吩咐兵士在城牆上挖了一個個坎兒,他們帶頭踏著坎兒爬上城,兵士們也跟著爬上去。守城的淮西兵正在呼呼睡大覺,唐軍把他們殺了,隻留一個打更的,叫他照樣敲梆子打更,接著,打開城門,讓李愬大軍進城。
雞叫頭遍的時候,天蒙蒙亮了,雪也止了。唐軍已經占領了吳元濟的外院,吳元濟還在裏屋睡大覺呢。有個淮西兵士發現了唐軍,急忙闖進裏屋報告吳元濟說:“不好了,官軍到了。”
吳元濟懶洋洋躺在床上不想起來,笑著說:“這一定是犯人們在鬧事,等天亮了看我來收拾他們。”剛說完,又有兵士衝進來說:“城門已經被官軍打開了。”
吳元濟奇怪起來,說:“大概是洄曲那邊派人來找我們討寒衣的吧!”吳元濟起床後,隻聽見院子裏一陣陣吆喝傳令聲:“常侍傳令……”(常侍是李愬的官銜)接著,又是成千上萬的兵士的應聲。吳元濟這才害怕起來,說:“這哪來的常侍?怎麽跑到這兒來傳令?”說著,帶了幾個親信兵士爬上院牆抵抗。
李愬對將士說:“吳元濟敢於頑抗,是因為他在洄曲還有一萬精兵,等待那邊來援救。”
駐洄曲的淮西將領董重質,家在蔡州。李愬派人慰撫董重質的家屬,派董重質的兒子到洄曲勸降。董重質一看大勢已去,就親自趕到蔡州向李愬投降了。
李愬命令將士繼續攻打院牆,砸爛了外門,占領了軍械庫。吳元濟還想憑著院牆頑抗。第二天,李愬又放火燒了院牆的南門。蔡州的百姓們受夠了吳元濟的苦,都扛著柴草來幫助唐軍,唐軍兵士射到內院裏的箭,密集得像刺蝟毛一樣。到太陽下山的時候,內院終於被攻破,吳元濟在走投無路的情況下,隻好哀求投降。