起义军攻下长安,黄巢称帝,国号大齐,僖宗逃往成都时,诏荆南节度使郑绍业随驾入川,杨复光借机推荐段彦谟为荆南节度使,为了便于指挥各部大军,杨复光被授于京西南面行营都监。不久,黄巢令大将朱温攻邓州,杨复光兵败,逃到许州,准备投靠忠武军节度使周岌。周岌曾是杨复光的部下,任忠武军节度使,农民军攻下长安后,周岌就投降了黄巢,但周岌并非一心投降黄巢。杨复光也看出了周岌三心二意的用意,准备劝周岌脱离农民军,瓦解农民军的斗志。
,!
周岌设夜宴,派人向杨复光送去邀请,请他火速赴宴,杨复光的左右侍从都认为这可能是一个阴谋,劝他别去。但扬复光认为这是一次极好的劝降机会,不能轻易放过,随后亲自赴宴。当酒宴达到高潮时,周岌谈起了有关唐朝政府的一些事情,杨复光见时机已成熟,装着非常难过的神色,对周岌说,“大丈夫应该感恩招答,你从一般的小百姓一跃成为公侯,这都是当今天子给予的,为何要舍弃天子而向贼人称臣?”周岌见杨复光说得怪痛心,也伤心地说:“我并不是存心要投降黄巢,实在是迫于无奈,以我一个人的力量是不能抗拒起义军的,今日把您召来,就是为此事”。杨复光见周岌有叛变起义军的想法,掩饰不住内心的高兴,当即高举酒杯对天宣誓。第二天,杨复光派他的养子杨守亮率兵把农民军的使者杀死于旅舍,周岌便公开叛变起义军,又重新加入了镇压农民军的行列。
周岌复归唐朝后,已投降农民军的秦宗权占据蔡州城,拒不服从周岌的命令,杨复光上奏升蔡州为奉国军,以秦宗权为防御使。杨复光于是带领忠武军三千精兵进驻蔡州,劝秦宗权与他们一起举兵镇压农民军,秦宗权听从了杨复光的劝告,派大将王淑领兵三千跟随杨复光进攻邓州城的农民军。当行至邓州城时,王淑不愿再前进了,杨复光下令杀死了他,把他的三千精兵合并过来,这样加上忠武军的军队共八千人分成八都,派牙将鹿宴弘、晋晖、王建、韩建、张造、李师泰、庞从等八人分别统领一都,杨复光任总指挥。
之后杨复光派八都将士进攻邓州,驻守邓州的农民军在朱温的率领下,奋勇抵抗,无奈力量悬殊,最后失败,被迫撤出邓州,向长安撤退。杨复光乘胜向北挺进,直至蓝桥,忽然军中报告说他的母亲病危,杨复光才被迫停止进攻起义军,返回邓州。杨复光刚进家门,他的母亲便去世了,在这多事之秋,杨复光也无心为老母守孝了,再之僖宗多次诏他回军,率兵镇压农民军,杨复光也只好草草安葬老母,回到军中。不久,僖宗下诏加封他为天下兵马都监,监督诸路大军,入关镇压农民军,时王重荣为东西招讨使,杨复光率兵与他会合,向长安迸发,镇压农民起义。
杨复光率忠武军驻扎武功,伺机反扑,任西面行营都监使,会同王重荣准备进攻农民军。此时,黄巢令大将朱温攻同州,同州刺史米诚兵败溃逃,朱温占据同州,自任同州刺史。之后朱温进攻河中,被河中节度使王重荣打败,起义军退保同州。朱温固守同州,对唐军进攻长安来说是个障碍,只要同州失守,长安东北门户就敞开无阻,拿下长安指日可持,这祥双方争夺的焦点就在同州。
王重荣、杨复光进攻同州,被农民军打败,农民军将领朱温想乘胜进攻河中,数次向黄巢送信要求增兵,大将孟楷因为实在抽不出兵马增援同州,将朱温的求援信扣压下来,这祥使朱温的情绪一落千丈。在这紧急关头,杨复光又拿出他的劝降老招,派奸细潜入同州城,先以高官重金收买了朱温部将胡真、谢瞳,二人又极力劝朱温投降。朱温杀了黄巢的监军使严实,率领全同州军民投降王重荣,杨复光想要斩杀朱温,王重荣阻止说:“如今招降黄巢兵马,投降的一律赦免,况且朱温此人骁勇可用,杀了他怕是不祥。”唐朝政府授朱温同州节度使,不久又授朱温为右金吾大将军,河中行营招讨使,并赐名为朱全忠。
朱温投奔唐朝,使形势发生了重大变化,尽管如此,农民军仍有强大的力量,招讨使王重荣向杨复光征求计策。杨复光面对王重荣的疑难,也颇感难办,最后他想到了英勇善战的沙陀将领李克用,提出以朝廷的名义通知与李克用有间隙的郑从谠,让他不要阻止李克用。然后再向李克用下诏,让其带领他的沙陀兵入关平乱,王重荣听了后也觉得此计很好。之后,杨复光勾引沙陀兵的计谋颇得唐朝大将们的拥护,都统王铎当时也在河中,他采纳了杨复光的意见,并亲自给李克用下了一道命令,令李克用带领沙陀兵火速入关平乱,同时也给太原郡守郑从谠下了一道命令,允许李克用入关。