太和三年(829年),战场局势开始向着有利方向转变。
正月,李听与史唐合兵一处击破齐志绍,齐志绍带领残部逃奔镇州,投靠王庭凑。
卢龙节度使李载义从现在的天津方向,向沧州发起进攻,一举攻破长芦县(古县名,位沧州西侧),威逼沧州。
二月份,横海节度使李佑率军击败李同捷,向德州发展进攻。
不久,李载义击破沧州外城,武宁节度使王智兴进占棣州(山东阳信县南),李佑攻陷德州。
横海所属四州已去其三,李同捷见大势已去,无奈向李佑请降。李佑将降书上奏朝廷,让大将万洪进驻沧州驻守。
朝廷指派谏议大夫柏耆到前线慰劳,谁知柏耆立功心切,竟私下带数百亲卫强行闯入沧州(河北沧县),托故杀掉万洪,擒获了李同捷及其家人押送京城。因担心沿途被王庭凑所劫,在路上处死李同捷,传首长安。
沧景之乱历时三年,各镇兵马竭尽全力才勉强取胜。然而胜利果实却被从未参战的柏耆轻易摘走,李佑惊怒之下暴病而亡。
文宗大怒,将柏耆贬为循州(广东惠阳)司户,后又将其赐死,算是给李佑、万洪出了口恶气。
没多久,王庭凑通过河东节度使李程,婉转向朝廷表达投诚之意,同时奏报齐志绍已自缢而死。
李载义在平叛中战功卓着,加封为同平章事,享受宰相待遇。
史宪诚前期态度虽然暧昧,但在其子史唐劝说下派兵攻破叛将齐志绍也算有功,被加封侍中,出任河中节度使;令义成节度使李听接任魏博节度使。
朝廷又从魏博所属六州中,分出相(河南安阳与河北临漳之间)、卫(河南新乡、鹤壁等地)、澶(河南濮阳西南澶水县)三州,任命史唐为节度使,彰表其忠于朝廷的行为。
谁知局面刚稳,变乱又生!
魏博将领何进滔因对史宪诚临行前拼命搜刮军府财物不满,起兵杀死史宪诚,带兵攻击驻扎城外等着接任的李听,将李听杀了个片甲不留,单身逃往滑台(河南滑县,义成军治所)。
想当初身为牙将的史宪诚在危急中逼死前任节度使田布,用卑劣手段上位,到如今也同样为其部属所害,果真是报应不爽!
这下朝廷实在打不起了,只好委曲求全,任命何进滔为魏博节度使,划给史唐的三个州重归魏博。赦免王庭凑对抗朝廷的罪行官复原职,一下又回到了解放前!
沧景一带经历三年兵燹之厄,早已骸骨遍野,屋宇十室九空,户口锐减了七成有余。朝廷任命治世能臣卫尉卿殷侑担任齐(山东济南)、德(山东德州)、沧(河北沧县)、景(河北景县)节度使,用了三年时间方才恢复了一些人气。