唐昭宗光化元年(公元898年),昭宗不得不任命朱全忠为宣武(治所汴州)、宣义(治所滑州)、天平(治所郓州)三镇节度使。期间,朱全忠与幽州(今北京市)刘仁恭结好,一起进攻李克用,夺取了东昭义所属邢州(今河北省邢台市)、洺州(今河北省永年县)、磁州(今河北省磁县)三州。不久,朱全忠听说忠义(治所襄州、今湖北省襄阳市)节度使赵匡凝暗中投靠杨行密,发兵南下进攻邓州(今河南省邓州市),赵匡凝请降。十一月,朱全忠又听说奉国(治所蔡州)节度使崔洪与杨行密来往,发兵进攻。崔洪以其弟为人质请降,朱全忠答应了。光化二年(公元899年)年初,杨行密大举北上,进攻徐州。朱全忠亲率大军抵御,杨行密闻讯后不战而退。不久,刘仁恭也大举南下,进攻魏博。魏博人向朱全忠求救。朱全忠派遣朱友伦、张存敬、李思安等将进驻内黄(今河南省内黄县),朱全忠率领大军随后赶到,大破刘仁恭之军,刘仁恭逃往沧州(今河北省沧州市),与此同时,李克用从朱全忠手中又夺回了潞州。光化三年(公元900年),朱全忠乘胜进攻沧州,遇雨而撤,同时,李克用趁虚派兵东进,夺取洺州。朱全忠率领大军从沧州返回,河东军不战而退,朱全忠又重新夺回了洺州。九月,朱全忠开始讨伐镇州(今河北省正定县),王镕投降。继而又讨伐定州(今河北省定州市),义武(治所定州)节度使王郜逃奔河东(治所今山西省太原市)投靠李克用,其叔父王处直投降。刘仁恭之子刘守光领兵救援定州,反被朱全忠击败。自此,中唐以来割据河北的“河朔三镇”开始臣服于朱全忠。
当朱全忠还在河北之时,唐朝朝廷发生了内乱。左神策军护军中尉刘季述软禁了昭宗,拥立昭宗之子、德王李裕为帝,并给朱全忠带信情愿把唐朝的江山社稷让给朱全忠。朱全忠匆匆忙忙从定州前线返回大梁,商议对策,最终定下了拥护昭宗复辟的计划。
天复元年(公元901年)元旦,禁卫军将领孙德昭诛杀刘季述等人,迎回了昭宗。朱全忠则借口河中节度使王珂结好李克用,发兵奔袭河中,并一举夺占了河中。此后,朱全忠命令各军向太原发起总攻,但无果而返。到了该年的下半年,朝中宰相崔胤与宦官集团矛盾激化,崔胤请求朱全忠领兵入关,杀尽宦官。宦官头领韩全诲等人劫持昭宗逃往凤翔,依附凤翔节度使李茂贞。天复二年(公元902年),朱全忠趁机领兵入关,相继拿下了韩建的华州(今陕西省华县)、司马邺的同州、李继徽(后改名杨崇本)的邠州(今陕西省彬县),兵临凤翔(今陕西省凤翔县)城下,后又袭占了李茂勋(后改名李周彝)的鄜州(今陕西省富县)。天复三年(公元903年)年初,朱全忠与李茂贞议和,昭宗返回长安。昭宗返回长安后,朱全忠留下兵马护驾,完全控制了昭宗君臣。此时,崔胤觉察出朱全忠的野心,开始与朱全忠貌合神离,与此同时,平卢(治所青州、今山东省青州市)节度使王师范激于义愤,趁朱全忠大军西进之际,偷袭朱全忠东方各个军镇,并顺利占领了兖州。朱全忠赶忙调集大军东进抵御,并于同年八月逼迫王师范投降。十月,朱全忠留在长安的侄儿朱友伦(朱全忠二哥朱存的次子)暴死,朱全忠大怒。
天祐元年(公元904年)一月,朱全忠领兵来到河中,京师一片恐惧。朱全忠密令朱友谅(朱全忠长兄朱全昱的长子)矫诏诛杀了宰相崔胤等人,并迫使昭宗迁都洛阳。八月,朱全忠命人弑杀了昭宗,另立昭宗之子、辉王李祚(改名李柷)为皇帝,是为昭宣帝,又称唐哀帝。十一月,光州(今河南省光山县)投降朱全忠。
天祐二年(公元905年),朱全忠派遣杨师厚讨伐赵匡凝,很快就占领了襄州(今湖北省襄阳市)、荆州(今湖北省江陵县)。赵匡凝投奔淮南的杨行密,赵匡明投奔西川的王建。十月,唐哀帝任命朱全忠为诸道兵马元帅。期间,朱全忠已经命令留在洛阳的蒋玄晖、柳璨等爪牙们安排篡唐事宜,然而,这些人未能体会到朱全忠的迫切心态,惹得朱全忠大怒。
天祐三年(公元906年)年初,魏博兵乱,朱全忠趁机进入魏州(今河北省大名县),经过数月的平乱,终于平定了魏博的叛乱。八月,他又深感必须先拔掉沧州这颗钉子,遂再次发兵讨伐沧州。然而,就在沧州旦夕可下之际,朱全忠的亲信部将、昭义节度使丁会因不满朱全忠弑君暴行,投靠了李克用,朱全忠唯恐李克用会趁虚率军南下,威胁洛阳、大梁,赶忙从沧州前线撤军。
潞州失守的消息传来,让朱全忠的颜面扫地,唯恐自己的内部会引发连锁反应,进而分崩离析,遂决定加快篡唐立国的步伐。天佑四年(公元907年)四月十八日,朱全忠终于登基即皇帝位,二十二日,他下诏宣布大赦天下,改元为开平元年,国号大梁;以唐哀帝为济阴王,一切按照前代处置亡国之君的惯例进行,唐朝内外群臣的官爵一律保留;以汴州为开封府,命名为东都;以原东都洛阳为西都;取消长安西京称号,改京兆府为大安府,在大安府设置佑国军,将魏博军改名为天雄军。将济阴王(即唐哀帝李柷)迁往曹州(今山东省曹县)软禁起来,在他的住处用荆棘环绕,派全副武装的士兵看守。次年二月二十二日,朱晃派人在曹州毒死了年仅十七岁的济阴王李柷,追谥为唐哀皇帝。