攻长安来说是个障碍,只要同州失守,长安东北门户就敞开无阻,拿下长安指日可持,这祥双方争夺的焦点就在同州。
王重荣、杨复光进攻同州,被农民军打败,农民军将领朱温想乘胜进攻河中,数次向黄巢送信要求增兵,大将孟楷因为实在抽不出兵马增援同州,将朱温的求援信扣压下来,这祥使朱温的情绪一落千丈。在这紧急关头,杨复光又拿出他的劝降老招,派奸细潜入同州城,先以高官重金收买了朱温部将胡真、谢瞳,二人又极力劝朱温投降。朱温杀了黄巢的监军使严实,率领全同州军民投降王重荣,杨复光想要斩杀朱温,王重荣阻止说:“如今招降黄巢兵马,投降的一律赦免,况且朱温此人骁勇可用,杀了他怕是不祥。”唐朝政府授朱温同州节度使,不久又授朱温为右金吾大将军,河中行营招讨使,并赐名为朱全忠。
朱温投奔唐朝,使形势发生了重大变化,尽管如此,农民军仍有强大的力量,招讨使王重荣向杨复光征求计策。杨复光面对王重荣的疑难,也颇感难办,最后他想到了英勇善战的沙陀将领李克用,提出以朝廷的名义通知与李克用有间隙的郑从谠,让他不要阻止李克用。然后再向李克用下诏,让其带领他的沙陀兵入关平乱,王重荣听了后也觉得此计很好。之后,杨复光勾引沙陀兵的计谋颇得唐朝大将们的拥护,都统王铎当时也在河中,他采纳了杨复光的意见,并亲自给李克用下了一道命令,令李克用带领沙陀兵火速入关平乱,同时也给太原郡守郑从谠下了一道命令,允许李克用入关。
李克用率领一万七干沙陀精兵从岚州、石州直趋河中,由于与郑从谠有矛盾,不敢从太原经过,只派了数百人向郑从谠说明情况,郑从谠也只好放行。杨复光勾引沙陀兵入关,使唐军士气大振,李克用串领四万大军到达同州,会同唐将王处厚、王重荣、杨复光等,在粱田陂与农民军激战,结果农民军战败,伤亡数万人,农民军被迫向华州撤退。李克用攻进长安,黄巢被迫撤出长安,转战河南,在山东莱芜东南的狼虎谷,兵败自杀,壮烈牺牲,这次波澜壮阔的农民大起义最终失败了。
宦官田令孜见杨复光在镇压起义中功劳卓着,为了给他自己留条后路,于是建议僖宗下诏免除了充诸道行营都统王铎的兵权,以杨复光代之。长安收复后,僖宗回到了长安城,为了表解杨复光的丰功伟绩,下诏进封他为开府仪同三司、同华制置使,封弘农郡公,赐号“资忠辉武民国乎难功臣”。
后来,杨复光突然得病,死在河中,他一手提拔起来的大小军官,闻听此讯,痛哭流涕,僖宗为了缅怀他的功绩,赠观军容使,谥号忠肃。
史事讲将2隋唐五代三月天