兴王,都建署封官,像唐初行台官制,官名有很多怪异的,但不敢自立年号。五名叛贼勾结想颠覆唐朝,黄河南北混乱,盗贼横行;马燧等虽然效忠唐朝,终于没能平定叛乱。
建中四年(783)十月,泾原军队占据京城,皇帝逃到奉天,马燧率军回到太原。有议论说:“马燧如乘田悦洹水战败,合力进攻他,当时城中败兵不到两、三千人,都受伤躺倒,日夜等待投降;马燧与李抱真不和,拖延不进攻叛军,以至三位叛将勾结起来,至今仍是祸害,责任在马燧。”马燧到了太原,派行军司马王权率兵五千去奉天,又派儿子马汇和大将的儿子与他们同去。在中渭桥扎营。到皇帝去了梁州,王权、马汇领兵回到太原。马燧因晋阳是唐朝开创之地,考虑城东平旷易遭攻击,当时国中动荡,北面边境多次出现紧急情况,于是引晋水架槽流到城的东边,蓄水成为护城河,敌军来了可省去守城兵万名;又引汾水绕城而流,多造池塘,种柳树加固围堤。不久兼任保宁军节度使。
兴元元年(784)正月,升任检校司徒,封爵北平郡王。这年七月,唐德宗回到京城,加封马燧为奉诚军和晋绛慈隰节度和所辖区内各军行营副元帅,命他和侍中浑王咸、镇国军节度使骆元光一起去讨伐河中。当初,李怀光叛据河中,马燧派人招降他,李怀光妹夫要廷珍据守晋州,衙将毛朝鰎据守隰州,郑抗据守慈州,都相继投降了马燧。此前,王武俊从魏县回到封地,虽然放弃了王号,但围攻赵州不止,康日知无法,想放弃赵州,马燧奏本说:“可以下诏让王武俊和李抱真一起进攻朱滔,将深州、赵州划归王武俊,请求改封康日知为晋慈隰节度使。”康日知未到,三州都投降了马燧,因此又加封马燧为晋慈隰节度使。马燧就上表把三州让给康日知,并说如因投降他就封给他,怕以后有功劳的人效仿作为惯例。皇帝赞赏并答应了他,马燧就派使者迎接康日知,等他到后,又清点仓库交给他,康日知喜出望外。
这年九月十五日,马燧率步骑三万驻扎绛州,派兵收复夏县、攻稷山、占龙门,叛军将领冯万兴、任象玉投降。马燧率兵攻绛州,这年十月,攻下了绛州外城,当天夜里叛贼刺史王克同和大将达奚小进弃城逃跑,绛州军队四千人投降。他又派大将李自良、谷秀分头收复闻喜、夏县、万泉、虞乡、永乐、猗氏六县城,叛军将领辛先先和五千士兵投降。谷秀因违犯军令掳掠官吏女儿,马燧将他斩首示众。
贞元元年(785),军队抵达宝鼎,在陶城打败了叛军骑兵,先锋官李黯追击他们,射死敌将徐伯文,杀头万余颗,得马五百匹。这年,全国遭蝗灾、旱灾,物价飞涨,军队缺乏钱粮,因此很多京官上奏请求赦免李怀光,皇帝没决定。马燧因李怀光叛变罪行特别严重,河中靠近京城,反叛者不能信任,赦免他无法向全国交待,怕皇帝被侍从迷惑,而且军情注重保密。这年六月,马燧离开军队率几百名骑兵到京城朝拜。召见时,马燧说:“我虽无武才,得到一个月的粮草供应,就能讨平河中。”皇帝答应了。
这年七月,马燧因到京城朝拜,就和浑王咸、骆元光、韩游腢军队会合,抵达长春宫。李怀光将领徐廷光率兵六千守宫殿城墙,守备很周密。马燧考虑长春宫不攻占,李怀光就会更加死心防守,进攻他耗时过多、死伤也重,就亲自到城下喊徐廷光。徐廷光平日敬畏马燧名声,就在城上拜见。马燧估计徐廷光心里已经屈服,就慢慢对他说:“我从朝廷来,你可以面朝西边接受命令。”徐廷光又跪拜了。马燧于是劝告他们说:“你们都是朔方官兵,安禄山反叛以来,带头建立大功,四十多年,功劳最大,为什么抛弃祖辈功勋,背叛皇上,走抄斩满门的路呢!听从我,不但无祸,还能得到富贵。”叛军都不做声。马燧又说:“你们认为我的话不是真心,现相距不到几步远,你们射死我吧!”于是掀开铠甲对着他们。徐廷光感动得拜伏流泪,士兵们也流了泪。前一天,叛军焦篱堡守将尉王圭率兵两千在当地投降了马燧;徐廷光东边道路已断绝,于是率兵出城投降,马燧带几名骑兵直接进城,对他们毫不疑心,没有人不敬畏佩服。士兵高喊道:“我们又能做唐朝人了!”浑王咸从此佩服马燧,私下对部将说:“我曾认为马燧用兵和我差不多,但奇怪他能多次地打败田悦;现看他用兵判断,我比他差得远!”这年八月,马燧移驻焦篱堡。这天夜晚,叛军太原堡守将吴礒弃城逃跑,部下都投降了。马燧率各军渡过黄河,兵共八万,在城下列阵。这天,叛军将领牛名俊杀死李怀光率城投降。叛军守城士兵还有一万六千人,马燧将叛军将领阎晏、孟宝、张清、吴礒等七人斩首示众,被李怀光胁迫俘虏的都放了。