唐朝中叶后的外患,最严重的是回鹘、吐蕃,次之则南诏。南诏的归服吐蕃,本出于不得已,吐蕃待之亦甚酷。九世纪初,韦皋为西川节度使,乃与之言和,共击吐蕃,西南的边患,才算解除(西川军,治成都,今四川成都县。后来南诏仍有犯西川之事,并曾侵犯安南,但其性质,不如和吐蕃结合时严重)。840年,回鹘为黠戛斯所破,遽尔崩溃。吐蕃旋亦内乱。849年,中国遂克复河、湟,河西之地亦来归。三垂的外患,都算靠天幸解除了。然自身的纲纪不振,沙陀突厥遂至能以一个残破的部落而横行中国。
沙陀是西突厥的别部,名为处月(朱邪,即处月之异译)。西突厥亡后,依北庭都护府以居(今新疆迪化县)。其地有大碛名沙陀,故称为沙陀突厥。河西、陇右既陷,安西、北庭(安西都护府,治龟兹),朝贡路绝,假道回鹘,才得通到长安。回鹘因此需索无厌。沙陀苦之,密引吐蕃陷北庭。久之,吐蕃又疑其暗通回鹘,想把它迁到河外。沙陀乃又投奔中国。吐蕃追之,且战且走。三万部落之众,只剩得二千到灵州。节度使范希朝以闻,诏处其众于盐州(今宁夏盐池县北)。后来范希朝移镇河东(治太原府,今山西太原县),沙陀又随往,居于现在山阴县北的黄瓜堆。希朝简其精锐的为沙陀军。沙陀虽号称突厥,其形状,据史籍所载,亦是属于白种人的。既定徐、泗之乱,其酋长朱邪赤心,赐姓名为李国昌,镇守大同(治云州,今山西大同县),就有了一个地盘了。
873年,懿宗崩,子僖宗立。年幼,信任宦官田令孜。时山东连年荒歉。875年,王仙芝起兵作乱,黄巢聚众应之。后来仙芝被杀,而黄巢到处流窜。从现在的河南打到湖北,沿江东下,经浙东入福建,到广东。再从湖南、江西、安徽打回河南,攻破潼关。田令孜挟僖宗走西川。黄巢遂入长安。时为880年。当黄巢横行时,藩镇都坐视不肯出兵剿讨。京城失陷之后,各路的援兵又不肯进攻。不得已,就只好再借重沙陀。先是李国昌移镇振武(治单于都护府。今绥远和林格尔县),其子李克用叛据大同,为幽州兵所败,父子都逃入鞑靼(居阴山)。这时候,国昌已死,朝廷乃赦李克用的罪,召他回来,打败黄巢,收复长安。李克用镇守河东,沙陀的根据地更深入腹地了。
黄巢既败,东走攻蔡州。蔡州节度使秦宗权降之。后来黄巢被李克用追击,为其下所杀,而宗权专横,其残虐较黄巢为更甚。河南、山东被其剽掠之处,几于无复人烟。朝廷之上,宦官依然专横。关内一道,亦均为军人所盘踞。其中华州的韩建,邠州的王行瑜(镇国军,治华州,今陕西华县。邠宁军,治邠州,今陕西邠县),凤翔的李茂贞尤为跋扈,动辄违抗命令,胁迫朝廷,遂更授沙陀以干涉的机会。
在此情势之下,汉民族有一个英雄,能够和沙陀抵抗的,那便是朱全忠。全忠本名温,是黄巢的将,巢败后降唐,为宣武节度使(治汴州,今河南开封县)。初年兵力甚弱,而全忠智勇足备,先扑灭了秦宗权,渐并今河南,山东之地,又南取徐州,北服河北三镇,西并河中,取义武(义武军,治定州,今河北定县),又取泽、潞(泽州,今山西晋城县。潞州,今山西长子县)及邢、洺、磁诸州(邢州,今河北邢台县。洺州,今河北永年县。磁州,今河北磁县)。河东的形势,就处于其包围之中了。
僖宗死于888年,弟昭宗立,颇为英武。然其时的事势,业已不能有为。此时朝廷为关内诸镇所逼,大都靠河东解围。然李克用是个无谋略的人,想不到挟天子以令诸侯。虽然击杀了一个王行瑜,关内的问题还是不能解决。朱全忠其初是不问中央的事务,一味扩充自己的实力。到十世纪初年,全忠的势力已经远超出乎李克用之上了。唐朝的宰相崔胤,乃结合了他,以谋宦官。宦官见事急,挟昭宗走凤翔。全忠围凤翔经年,李茂贞不能抗,只得把皇帝送出,同朱全忠讲和。昭宗回到京城,就把宦官悉行诛灭。
唐朝中叶后的痼疾,不是藩镇,实在是宦官。因为唐朝的藩镇,并没有敢公然背叛,或者互相攻击,不过据土自专,更代之际,不听命令而已。而且始终如此的,还不过河北三镇。倘使朝廷能够振作,实在未尝不可削平。而唐朝中叶后的君主,如顺宗、文宗、武宗、宣宗、昭宗等,又都未尝不可与有为。其始终不能有为,则全是因被宦官把持之故。事势至此,已非用兵力铲除,不能有别的路走了。一个集团当其恶贯满盈,走向灭亡之路时,在它自己,亦是无法拔出泥淖的。
宦官既亡,唐朝亦与之同尽。公元903年,朱全忠迁帝于洛阳,弑之而立其子昭宣帝。至907年,遂废之而自立,是为梁太祖。此时海内割据的:淮南有杨行密,是为吴。两浙有钱镠,是为吴越。湖南有马殷,是为楚。福建有王审知,是为闽。岭南有刘岩,是为南汉。剑南有王建,是为前蜀。遂入于五代十国之世。