唐王朝为了阻止黄巢军北上采取了如下部署:任命宰相王铎为荆南节度使,南面行营招讨都统,命原泰州节度使李系为副都统兼湖南观察使,率十几万唐军屯潭州、江陵、襄阳,以阻黄巢军取道潭、荆北上;任命高骈为淮南节度使,率十万军屯淮南,以防义军越江淮北上。企图利用桐柏、大别和汉、淮的山水要隘,把义军阻于江、淮之间,使之不能北上,相机制之。
黄巢率北伐义军顺湘江北进,经衡(今湖南衡阳)、永(今湖南零陵),十月二十七日到达潭州城下。唐副都统李系“有口才而实无勇略”,龟缩而不敢出战。黄巢仅用一日即克潭州,李系仓皇逃至朗州(今湖南常德),义军乘胜占澧州(今湖南澧县),尚让率50万大军进逼江陵。
江陵系南北东西水陆交通之要冲,战略地位十分重要。但唐都统王铎并未把防御要点放在这里,而是以主力防守潭州,江陵“兵不满万人”,王铎闻李系潭州大败,亦仓皇逃至襄阳。其部将刘汉宏掠城而后弃城逃走,义军遂兵不血刃,渡江占领江陵,并继续向襄阳挺进。此时在节节胜利中,因冒进轻敌,义军在从襄阳到荆州的丛林中遭到唐军埋伏,造成重大伤亡,退还江陵。荆门受挫后,黄巢改变直上河南的计划,向东迂迥,再次进入江西及浙东,先后攻克饶、信、池、宣、歙、杭等15州.准备伺机入江淮北进。唐军虽然在荆门得手,但刘系主力在潭州被歼,唐军兵力有限,已无力组织进一步追击。唐廷于乾符六年(879)十二月。将畋军失地之王铎免职,以高骈为诸道行营都统。高骈经过征集,纠集10万之众,并得到昭义、义武、感化诸道兵的加强,以扬州为中心,设置了一道新的防线。广明元年四月。其骁将张璘率精锐渡江,先后几次重创义军,并攻占饶州。义军在多次失利的情况下,退保信州。
这时,义军又遇到疾疫,处境十分困难。于是黄巢决定计取张磷,一面“以金啗璘”,以骄其心;一面致书高骈,求其保奏请降。高骈喜出望外,为防止诸道兵分了他的功劳,慌忙向唐僖宗上书,称黄巢“不日当平,不烦诸道兵,请悉遣归”。黄巢见高骈中计,诸道兵已北撤,出其不意向其发起了猛烈进攻,将张璘所率高骈主力一举歼灭在信州城下。张璘本人亦作了义军刀下之鬼。这一仗对高骈是一个致命打击。至此,唐廷阻止义军北上的两张“王牌”,一支大部被歼,一支主力尽丧,阻黄巢军于江、淮、汉水的计划彻底破产了。