黄巢起义被镇压后,节度使朱玫又起兵反叛,攻入长安,僖宗不得不再次出逃,神策军将领宋文通陪护僖宗往凤翔避难,并杀退了朱玫的追兵。后来朱玫为部将所杀,宋文通在保护僖宗回长安的中途遭凤翔节度使李昌符军阻拦,宋文通率兵奋力抵抗,将李昌符军全部歼灭。唐僖宗因宋文通护驾有功而封他为节度使,并赐他李茂贞之名,李茂贞自此开始割据称雄。
僖宗病重时,他的儿子年龄尚小,因此朝臣们一致拥护他的弟弟吉王李保为继位国君,只有宦官杨复恭主张封立僖宗的弟弟寿王李杰。寿王即是后来的唐昭宗,他与僖宗是一母同胞,曾多次陪同僖宗出逃,很受僖宗看重。杨复恭以立嗣之事上奏僖宗,这时,僖宗已不能开口讲话,只是微微点头以示赞同。
888年春天,僖宗诏立寿王李杰为皇太弟,监军国事。僖宗死后,李杰遵照遗诏继承皇位,更名为晔,是为唐昭宗。
龙纪元年(889年)昭宗即位,立志削藩。昭宗还是寿王的时候,就对宦官没好感;即位后,政事总是和孔纬、张溶等几个宰相商议。执掌军权的宦官杨复恭倚仗援立昭宗起过很大作用,十分骄横,总是乘坐轿子到太极殿。昭宗和宰相对此虽很恼火,但因他有兵权,怕他造反,不便立刻削权,便提拔杨复恭假子天威军使杨守立,企图通过杨守立削弱杨复恭的权威。
唐昭宗尚未来得及对付杨复恭,河东节度使李克用就擅自扩大地盘,向云州(今山西大同)发起了进攻。与李克用有矛盾的宣武节度使朱温,上表要求讨伐。唐昭宗因李克用在平定黄巢时有大功,犹豫不决,遂令群臣进行讨论。讨论的结果,除了张潜、孔纬之外,竟无人赞同,杨复恭反对尤烈。然唐昭宗终被张潜、孔纬说服,诏令削去李克用的官爵,以张潜为统帅,统领朱温等诸道兵,对李克用兴师问罪。遗憾的是,由于准备不足,加上诸道各怀己见,致使征讨遭到了败局。
李克用得胜后,上表指斥张潜,要求朝廷予以制裁。而杨复恭则乘机挟嫌报复孔纬。最终,唐昭宗不得不将张潜、孔纬贬为外官,恢复了李克用的官爵。张潜、孔纬外放后,向朱温求援。朱温上表为他们洗冤,言下之意罪在杨复恭。
得了朱温的声援,唐昭宗生出了铲除杨复恭之心。他以杨复恭谋反为名,命天威都将李顺节、神策军使李守节率兵,向杨复恭居住地进攻。杨复恭战败,率众逃奔兴元(今陕西汉中),以讨李守节为名,与他的义子们联兵对抗朝廷。唐昭宗用凤翔节度使李茂贞为山南西道招讨使,以其本部兵,向兴元进攻。杨复恭再度失败,逃往间州(今属四川)。
讨伐杨复恭的胜利,使李茂贞的名声得到了大幅度的增长,他居功自傲,上表的言辞极是傲慢无礼,且充满了羞辱性的指责,说唐昭宗“尊极九州,不能戮杨复恭一身”。
唐昭宗怒不可遏,决计征讨。宰相杜让反对,从小不忍则乱大谋的角度出发,劝谏暂不用兵。
然唐昭宗说:“王室日益卑弱,号令不出京师。朕不甘为懦弱之主,浑借过日。”
他强令杜让进行协调,并征调禁军,向凤翔开去。然由于这禁军是新募之兵,且多是长安的市井少年,在遭遇凤翔军后,一触即溃。
李茂贞挥兵向长安扑来,京师震动。唐昭宗不得已,以杜让做了替罪羊,将他赐死,让李茂贞以凤翔节度使兼山南西道节度使,这才阻止了凤翔军的深入。
李茂贞成了长安附近地区最大的诸侯后,派兵向闻州进攻。杨复恭及其义子杨守信、杨守亮等力不能敌,向河中逃窜,途中为华州〔今陕西华县)刺史韩建所获,被押往长安斩首。
在先后经历了对李克用、李茂贞两次用兵失败后,唐昭宗的威信已丧失殆尽,并逐渐沦落为诸侯们随意侮辱的对象。未出多久,邯宁节度使王行瑜会同李茂贞、韩建,各自领兵进入长安,将宰相韦昭度等人处死,并准备废黜唐昭宗,改立吉王李保为帝。陷入绝境的唐昭宗,向李克用求救。李克用出于政治发展的需要,立即率部向长安运动。时李克用部队的战斗力在天下名列前茅,王行瑜等不敢与其争锋,各自领兵退回了本镇。
李克用到达朝邑(今陕西大荔),击败了匡国节度使王行约。王行约退往长安,与其弟左军指挥使王行实大掠西市。李茂贞假子右军指挥使李继鹏,欲劫唐昭宗去凤翔。神策军中尉刘景宣与王行实闻讯,欲劫唐昭宗去邻州(今陕西彬县)。为争夺天子,左军与右军相互攻战,长安大乱。幸有勇悍的盐州(今陕西定边)六部兵驻扎在京师,为左右两军所惮,唐昭宗急令前来护驾,方将两军分别逼去了邻州和凤翔。
王行瑜、李茂贞各自领兵,复逼近长安外围,准备劫持唐昭宗。唐昭宗逃往南山莎城镇,催促李克用进兵。李克用进至梨园寨,击败王行瑜。李茂贞向李克用求和,并向唐昭宗上表请罪。由此,唐昭宗方得以在李克用的护卫下,返回长安。
待李克用返回河东后,李茂贞卷土重来,攻进长安,放火烧毁宫室、坊市。唐昭宗再度流亡,途中被韩建所得。韩建逼唐昭宗解散禁军,伙同宦官枢密使刘季述杀死了十一个宗室王。然后,韩建将受尽凌辱的唐昭宗送回长安。
然屡经患难的唐昭宗,其英气仍未被磨灭,与宰相崔胤密谋,诛灭以刘季述为首的宦官。可刘季述等人闻得风声,捷足先登,发动禁军进行政变,废了唐昭宗。有朱温为后台的崔胤,扶了太子李裕登位。崔胤表面与宦官妥协,暗中支持左神策指挥使孙德昭,进行了反政变,杀死刘季述及其党羽,再拥唐昭宗复位。
唐昭宗复与崔胤密议,欲诛尽宦官。枢密使韩全诲早有防备,拉拢李茂贞以固其势。崔胤为弥补力量,调朱温入京。朱温进入关中后,韩全诲挟持唐昭宗西往凤翔,投靠李茂贞,并向李克用求救。朱温击败李克用,兵围凤翔。李茂贞在强大的攻势下,被迫杀了韩全诲等宦官,与朱温议和。和议达成,朱温护送唐昭宗回长安,自己返回了汁州(今河南开封)。
从此,唐昭宗落到了朱温的手中,在他的遥控之下,成了傀儡皇帝。崔胤为让唐昭宗摆脱朱温的控制,在长安招募数千兵,重建禁军。朱温密令他在长安的代理人其子朱友谅,诛杀了崔胤及其集团成员。
随即,朱温亲自率兵进抵河中,强请唐昭宗迁至洛阳。已彻底成了孤家寡人的唐昭宗,听凭朱温摆布,离开了长安。
与此同时,朱温为摧毁唐帝国的象征,令部将张廷范拆除了长安的宫殿、衙门、民居,并用所得材料营造了舟船,载着唐廷的财货沿渭水顺流而下,占为己有。
到了洛阳的唐昭宗,英气犹存。朱温为杜绝后患,令心腹蒋玄晖予以解决。蒋玄晖得到指令,唆使牙官史太下手。史太领百人夜入宫内,杀死了在醉中惊醒,穿着单衣绕柱逃避的唐昭宗。